@Override public void stopProcessing() { if (!this.isAlive()) { return; .createThreadGroup("ConcurrentParallelGatewaySenderEventProcessor Logger Group", getLogger()); try { Boolean b = f.get(); if (getLogger().fineEnabled()) { getLogger().fine( "ConcurrentParallelGatewaySenderEventProcessor: " + (b ? "Successfully" : "Unsuccesfully") getLogger() .warning( LocalizedStrings.GatewaySender_0_CAUGHT_EXCEPTION_WHILE_STOPPING_1, setIsStopped(true); stopperService.shutdown(); closeProcessor(); if (getLogger().fineEnabled()) { getLogger().fine( "ConcurrentParallelGatewaySenderEventProcessor: Stopped dispatching: " + this);
private void waitForRunningStatus() { for (ParallelGatewaySenderEventProcessor parallelProcessor : this.processors) { synchronized (parallelProcessor.runningStateLock) { while (parallelProcessor.getException() == null && parallelProcessor.isStopped()) { try { parallelProcessor.runningStateLock.wait(); } catch (InterruptedException e) { Thread.currentThread().interrupt(); } } Exception ex = parallelProcessor.getException(); if (ex != null) { throw new GatewaySenderException( LocalizedStrings.Sender_COULD_NOT_START_GATEWAYSENDER_0_BECAUSE_OF_EXCEPTION_1 .toLocalizedString(new Object[] { this.getId(), ex.getMessage() }), ex.getCause()); } } } }
waitForRunningStatus(); } catch (GatewaySenderException e) { this.ex = e; this.setException(ex); setIsStopped(true); } else { setIsStopped(false);
@Override public void stopProcessing() { if (!this.isAlive()) { return; setIsStopped(true); stopperService.shutdown(); closeProcessor(); if (logger.isDebugEnabled()) { logger.debug("ConcurrentParallelGatewaySenderEventProcessor: Stopped dispatching: {}", this);
+ sender.getId(), sender.getLogger()), "Event Processor for GatewaySender_" + sender.getId(), sender); initializeMessageQueue(sender.getId()); sender.getLogger().convertToLogWriter().config("ConcurrentParallelGatewaySenderEventProcessor: dispatcher threads " + sender.getDispatcherThreads()); processors = new ParallelGatewaySenderEventProcessor[sender.getDispatcherThreads()]; if (getLogger().fineEnabled()) { getLogger().fine("The target PRs are " + targetRs + " , Dispatchers: " +nDispatcher); setDaemon(true);
createProcessors(sender.getDispatcherThreads(), targetRs); setDaemon(true);
eventProcessor = new ConcurrentParallelGatewaySenderEventProcessor(this);
@Override public void pauseDispatching(){ for (ParallelGatewaySenderEventProcessor parallelProcessor : this.processors) { parallelProcessor.pauseDispatching(); } super.pauseDispatching(); if (getLogger().fineEnabled()) { getLogger().fine( "ConcurrentParallelGatewaySenderEventProcessor: Paused dispatching: " + this); } }
eventProcessor = new ConcurrentParallelGatewaySenderEventProcessor(this);
@Override public void resumeDispatching() { for (ParallelGatewaySenderEventProcessor parallelProcessor : this.processors) { parallelProcessor.resumeDispatching(); } super.resumeDispatching(); if (getLogger().fineEnabled()) { getLogger().fine( "ConcurrentParallelGatewaySenderEventProcessor: Resumed dispatching: " + this); } }
waitForRunningStatus(); } catch (GatewaySenderException e) { this.ex = e; this.setException(ex); setIsStopped(true); } else { setIsStopped(false);
private void waitForRunningStatus() { for (ParallelGatewaySenderEventProcessor parallelProcessor : this.processors) { synchronized (parallelProcessor.runningStateLock) { while (parallelProcessor.getException() == null && parallelProcessor.isStopped()) { try { parallelProcessor.runningStateLock.wait(); } catch (InterruptedException e) { Thread.currentThread().interrupt(); } } Exception ex = parallelProcessor.getException(); if (ex != null) { throw new GatewaySenderException( LocalizedStrings.Sender_COULD_NOT_START_GATEWAYSENDER_0_BECAUSE_OF_EXCEPTION_1 .toLocalizedString(new Object[] { this.getId(), ex.getMessage() }), ex.getCause()); } } } }