}
ClassLoader cl = (ClassLoader) props.get( CLASSLOADER );
MessageListener wrapper = ( cl != null ) ? new ClassloaderMessageListener( listener, cl ) : listener;
MessageListenerToRequestHandlerAdapter adapter = new MessageListenerToRequestHandlerAdapter( wrapper );
MessageDispatcher dispatcher = new MuxMessageDispatcher( muxId, channel, wrapper, listener, adapter );
sender = new DispatcherMessageSender( dispatcher );
}
else {
MessageListenerToRequestHandlerAdapter adapter = new MessageListenerToRequestHandlerAdapter( listener );
MessageDispatcher standardDispatcher = new MessageDispatcher( channel, listener, listener, adapter );
sender = new DispatcherMessageSender( standardDispatcher );
}
masterNodeSelector.setLocalAddress( channel.getAddress() );