You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2012/06/08 08:08:02 UTC
svn commit: r1347886 -
/camel/trunk/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java
Author: davsclaus
Date: Fri Jun 8 06:08:01 2012
New Revision: 1347886
URL: http://svn.apache.org/viewvc?rev=1347886&view=rev
Log:
Fixed a potential NPE when shutting down a seda consumer, which hasn't properly been started prior to shutdown.
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java?rev=1347886&r1=1347885&r2=1347886&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java Fri Jun 8 06:08:01 2012
@@ -57,7 +57,7 @@ public class SedaConsumer extends Servic
private static final transient Logger LOG = LoggerFactory.getLogger(SedaConsumer.class);
private final AtomicInteger taskCount = new AtomicInteger();
- private CountDownLatch latch;
+ private volatile CountDownLatch latch;
private volatile boolean shutdownPending;
private SedaEndpoint endpoint;
private AsyncProcessor processor;
@@ -111,13 +111,15 @@ public class SedaConsumer extends Servic
// signal we want to shutdown
shutdownPending = true;
- LOG.debug("Preparing to shutdown, waiting for {} consumer threads to complete.", latch.getCount());
+ if (latch != null) {
+ LOG.debug("Preparing to shutdown, waiting for {} consumer threads to complete.", latch.getCount());
- // wait for all threads to end
- try {
- latch.await();
- } catch (InterruptedException e) {
- // ignore
+ // wait for all threads to end
+ try {
+ latch.await();
+ } catch (InterruptedException e) {
+ // ignore
+ }
}
}