public void start() throws Exception { channel=new JChannel(props); disp=new MessageDispatcher(channel, this).setMembershipListener(this); channel.connect("MessageDispatcherSpeedTestGroup"); try { if(server) { System.out.println("-- Started as server. Press ctrl-c to kill"); while(true) { Util.sleep(10000); } } else { sendMessages(num); } } catch(Throwable t) { t.printStackTrace(System.err); } finally { channel.close(); disp.stop(); } }
@SuppressWarnings("resource") public ChannelCommandDispatcherFactory(ChannelCommandDispatcherFactoryConfiguration config) { this.marshallingContext = config.getMarshallingContext(); this.timeout = config.getTimeout(); JChannel channel = config.getChannel(); RequestCorrelator correlator = new RequestCorrelator(channel.getProtocolStack(), this, channel.getAddress()).setMarshaller(new CommandResponseMarshaller(config)); this.dispatcher = new MessageDispatcher() .setChannel(channel) .setRequestHandler(this) .setMembershipListener(this) .asyncDispatching(true) // Setting the request correlator starts the dispatcher .correlator(correlator) ; this.view.compareAndSet(null, channel.getView()); }
public RspCommandResponse(Rsp<R> response) { this.response = response; }
public Void run() throws Exception { channel = createChannel(); dispatcher = new MessageDispatcher(channel, null, AbstractRPCService.this, AbstractRPCService.this); channel.connect(clusterName); return null; } });
public void start() throws Exception { channel=new JChannel(props); disp=new MessageDispatcher(channel, this).setMembershipListener(this); channel.connect("MessageDispatcherSpeedTestGroup"); try { if(server) { System.out.println("-- Started as server. Press ctrl-c to kill"); while(true) { Util.sleep(10000); } } else { sendMessages(num); } } catch(Throwable t) { t.printStackTrace(System.err); } finally { channel.close(); disp.stop(); } }
broadcastDispatcher = new MessageDispatcher(clusterChannel, null, clusterMembershipListener, this); clusterChannel.connect(clusterId);
@SuppressWarnings("resource") public ChannelCommandDispatcherFactory(ChannelCommandDispatcherFactoryConfiguration config) { this.marshallingContext = config.getMarshallingContext(); this.timeout = config.getTimeout(); JChannel channel = config.getChannel(); RequestCorrelator correlator = new RequestCorrelator(channel.getProtocolStack(), this, channel.getAddress()).setMarshaller(new CommandResponseMarshaller(config)); this.dispatcher = new MessageDispatcher() .setChannel(channel) .setRequestHandler(this) .setMembershipListener(this) .asyncDispatching(true) // Setting the request correlator starts the dispatcher .correlator(correlator) ; this.view.compareAndSet(null, channel.getView()); }
private void prepareJGroupsChannel() throws Exception { channel = new JChannel( ConfigurationParseHelper.locateConfig( "testing-flush-loopback.xml" ) ); channel.connect( CHANNEL_NAME ); JGroupsReceiver listener = new JGroupsReceiver( getExtendedSearchIntegrator() ); MessageListenerToRequestHandlerAdapter adapter = new MessageListenerToRequestHandlerAdapter( listener ); MessageDispatcher standardDispatcher = new MessageDispatcher( channel, adapter ); }
@Init public void init() throws Exception { super.init(); if (channelConfig != null) { domainChannel = new JChannel(channelConfig); } else { domainChannel = new JChannel(); } domainChannel.setName(runtimeName); initializeChannel(domainChannel); Fabric3MessageListener domainMessageListener = new Fabric3MessageListener(); Fabric3RequestHandler domainRequestHandler = new Fabric3RequestHandler(); DomainMembershipListener membershipListener = new DomainMembershipListener(); dispatcher = new MessageDispatcher(domainChannel, domainMessageListener, membershipListener, domainRequestHandler); // setup runtime notifications joinListener = new JoinEventListener(); eventService.subscribe(JoinDomain.class, joinListener); eventService.subscribe(RuntimeStart.class, new RuntimeStartEventListener()); stopListener = new RuntimeStopEventListener(); eventService.subscribe(RuntimeStop.class, stopListener); }
@Init public void init() throws Exception { super.init(); if (!synchronize) { state = UPDATED; } ZoneMetadataUpdateCommandExecutor zoneMetadataExecutor = new ZoneMetadataUpdateCommandExecutor(); executorRegistry.register(ZoneMetadataUpdateCommand.class, zoneMetadataExecutor); RuntimeMetadataUpdateCommandExecutor runtimeMetadataExecutor = new RuntimeMetadataUpdateCommandExecutor(); executorRegistry.register(RuntimeMetadataUpdateCommand.class, runtimeMetadataExecutor); ControllerAvailableCommandExecutor executor = new ControllerAvailableCommandExecutor(); executorRegistry.register(ControllerAvailableCommand.class, executor); if (channelConfig != null) { domainChannel = new JChannel(channelConfig); } else { domainChannel = new JChannel(); } domainChannel.setName(info.getRuntimeName()); initializeChannel(domainChannel); Fabric3MessageListener messageListener = new Fabric3MessageListener(); Fabric3RequestHandler requestHandler = new Fabric3RequestHandler(); ZoneMemberListener memberListener = new ZoneMemberListener(); domainDispatcher = new MessageDispatcher(domainChannel, messageListener, memberListener, requestHandler); }
@Override public void start(Properties props, BuildContext context) { log.jGroupsStartingChannelProvider(); serviceManager = context.getServiceManager(); channelContainer = buildChannel( props ); checkForOldProperties( props ); NodeSelectorService masterNodeSelector = serviceManager.requestService( NodeSelectorService.class ); LuceneWorkSerializer luceneWorkSerializer = serviceManager.requestService( LuceneWorkSerializer.class ); JGroupsMasterMessageListener listener = new JGroupsMasterMessageListener( context, masterNodeSelector, luceneWorkSerializer ); JChannel channel = channelContainer.getChannel(); MessageListenerToRequestHandlerAdapter requestHandler = new MessageListenerToRequestHandlerAdapter( listener ); dispatcher = new MessageDispatcher( channel, requestHandler ); dispatcher.setMembershipListener( listener ); //Only now that the Dispatcher is installed we can start the channel: channelContainer.start(); masterNodeSelector.setLocalAddress( channel.getAddress() ); if ( !channel.flushSupported() ) { log.jGroupsFlushNotPresentInStack(); } if ( log.isDebugEnabled() ) { log.jgroupsFullConfiguration( channel.getProtocolStack().printProtocolSpecAsXML() ); } }
private void sendMessage(List<LuceneWork> queue) throws Exception { final String indexManagerName = getIndexName(); ServiceManager serviceManager = getExtendedSearchIntegrator().getServiceManager(); //send message to all listeners byte[] data = serviceManager.requestService( LuceneWorkSerializer.class ).toSerializedModel( queue ); data = MessageSerializationHelper.prependString( indexManagerName, data ); final MessageDispatcher dispatcher = new MessageDispatcher( channel ); final RequestOptions options = RequestOptions.SYNC() .exclusionList( channel.address() ) .setTransientFlags( TransientFlag.DONT_LOOPBACK ) .setTimeout( TIMEOUT ); //milliseconds Buffer buffer = new Buffer( data ); dispatcher.castMessage( null, buffer, options ); serviceManager.releaseService( LuceneWorkSerializer.class ); }