}
final AbstractOutboundConnectionService outboundConnectionService = (AbstractOutboundConnectionService) serviceController.getValue();
try {
final IoFuture<Connection> futureConnection = outboundConnectionService.connect();
// TODO: Make the timeout configurable
final Connection connection = IoFutureHelper.get(futureConnection, DEFAULT_CONNECTION_TIMEOUT, TimeUnit.MILLISECONDS);
logger.debug("Successful reconnect attempt#" + this.reconnectAttemptCount + " to outbound connection " + this.outboundConnectionServiceName);
// successfully reconnected so unregister this reconnect handler
this.clientContext.unregisterReconnectHandler(this);
// register the newly reconnected connection
final EJBReceiver receiver = new RemotingConnectionEJBReceiver(connection, this, OptionMap.EMPTY);