@Override protected void initializeMessageQueue(String id) { for (int i = 0; i < sender.getDispatcherThreads(); i++) { processors.add(new SerialGatewaySenderEventProcessor(this.sender, id + "." + i)); if (this.sender.getLogger().fineEnabled()) { this.sender.getLogger() .fine( "Created the SerialGatewayEventProcessor_"+i+" -> " + processors.get(i)); } } }
protected SerialGatewaySenderEventProcessor(SerialGatewaySenderImpl sender, String id) { super(LogWriterImpl.createThreadGroup( "Event Processor for GatewaySender_" + id, sender.getLogger()), "Event Processor for GatewaySender_" + id, sender); this.unprocessedEvents = new LinkedHashMap<EventID, EventWrapper>(); this.unprocessedTokens = new LinkedHashMap<EventID, Long>(); initializeMessageQueue(id); setDaemon(true); }
@Override public void run() { for(int i = 0; i < this.processors.size(); i++){ if (sender.getLogger().fineEnabled()) { sender.getLogger().fine("Starting the serialProcessor " + i); serialProcessor.join(); } catch (InterruptedException e) { if(sender.getLogger().fineEnabled()) { sender.getLogger().fine("Got InterruptedException while waiting for child threads to finish."); Thread.currentThread().interrupt();
/** * @param sender */ public ConcurrentSerialGatewaySenderEventProcessor( SerialGatewaySenderImpl sender) { super(LogWriterImpl.createThreadGroup("Event Processor for GatewaySender_" + sender.getId(), sender.getLogger()), "Event Processor for GatewaySender_" + sender.getId(), sender); this.sender = sender; initializeMessageQueue(sender.getId()); queues = new HashSet<RegionQueue>(); for (SerialGatewaySenderEventProcessor processor : processors) { queues.add(processor.getQueue()); } setDaemon(true); }
system.handleResourceEvent(ResourceEvent.GATEWAYSENDER_START, this); getLogger().info(LocalizedStrings.SerialGatewaySenderImpl_STARTED__0, this);