Author: davsclaus
Date: Fri Jun  8 06:09:44 2012
New Revision: 1347887

URL: http://svn.apache.org/viewvc?rev=1347887&view=rev
Log:
Fixed a potential NPE when shutting down a seda consumer, which hasn't properly 
been started prior to shutdown.

Modified:
    camel/branches/camel-2.9.x/   (props changed)
    
camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java

Propchange: camel/branches/camel-2.9.x/
------------------------------------------------------------------------------
  Merged /camel/trunk:r1347886

Propchange: camel/branches/camel-2.9.x/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: 
camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java
URL: 
http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java?rev=1347887&r1=1347886&r2=1347887&view=diff
==============================================================================
--- 
camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java
 (original)
+++ 
camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java
 Fri Jun  8 06:09:44 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;
@@ -110,13 +110,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
+            }
         }
     }
 


Reply via email to