@Stateless
public class BusinessFacadeBean implements BusinessFacadeLocal, BusinessFacadeRemote {
@Resource(mappedName = "java:/eis/HelloWorld")
private HelloWorldConnectionFactory connectionFactory;
@Override
public String send(String value) {
HelloWorldConnection comm = null;
try {
comm = connectionFactory.getConnection();
return connectionFactory.getConnection().helloWorld( value );
} catch (ResourceException e) {
e.printStackTrace();
} finally {
if (comm != null) {
comm.close();
}
}
return "Erro";
}
}
public class HelloWorldConnectionImpl implements HelloWorldConnection {
/** ManagedConnection */
private HelloWorldManagedConnection mc;
/** ManagedConnectionFactory */
private HelloWorldManagedConnectionFactory mcf;
@Override
public void close() {
mc.closeHandle(this);
}
}
public class HelloWorldManagedConnection implements ManagedConnection {
void closeHandle(HelloWorldConnection handle) {
ConnectionEvent event = new ConnectionEvent(this, ConnectionEvent.CONNECTION_CLOSED);
event.setConnectionHandle(handle);
for (ConnectionEventListener cel : listeners) {
cel.connectionClosed(event);
}
}
}