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/09/13 15:19:49 UTC

svn commit: r1384319 - in /camel/branches/camel-2.9.x: ./ components/camel-paxlogging/src/main/java/org/apache/camel/component/paxlogging/PaxLoggingConsumer.java

Author: davsclaus
Date: Thu Sep 13 13:19:48 2012
New Revision: 1384319

URL: http://svn.apache.org/viewvc?rev=1384319&view=rev
Log:
CAMEL-5607: Use API from Camel for thread pool lifecycle.

Modified:
    camel/branches/camel-2.9.x/   (props changed)
    camel/branches/camel-2.9.x/components/camel-paxlogging/src/main/java/org/apache/camel/component/paxlogging/PaxLoggingConsumer.java

Propchange: camel/branches/camel-2.9.x/
------------------------------------------------------------------------------
  Merged /camel/trunk:r1384316
  Merged /camel/branches/camel-2.10.x:r1384318

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

Modified: camel/branches/camel-2.9.x/components/camel-paxlogging/src/main/java/org/apache/camel/component/paxlogging/PaxLoggingConsumer.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/components/camel-paxlogging/src/main/java/org/apache/camel/component/paxlogging/PaxLoggingConsumer.java?rev=1384319&r1=1384318&r2=1384319&view=diff
==============================================================================
--- camel/branches/camel-2.9.x/components/camel-paxlogging/src/main/java/org/apache/camel/component/paxlogging/PaxLoggingConsumer.java (original)
+++ camel/branches/camel-2.9.x/components/camel-paxlogging/src/main/java/org/apache/camel/component/paxlogging/PaxLoggingConsumer.java Thu Sep 13 13:19:48 2012
@@ -18,7 +18,6 @@ package org.apache.camel.component.paxlo
 
 import java.util.Properties;
 import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
 
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
@@ -70,14 +69,16 @@ public class PaxLoggingConsumer extends 
         // TODO: populate exchange headers
         exchange.getIn().setBody(paxLoggingEvent);
 
-        LOG.trace("PaxLogging {} is firing", endpoint.getName());
+        if (LOG.isTraceEnabled()) {
+            LOG.trace("PaxLogging {} is firing", endpoint.getName());
+        }
         try {
             getProcessor().process(exchange);
-            // log exception if an exception occurred and was not handled
-            if (exchange.getException() != null) {
-                getExceptionHandler().handleException("Error processing exchange", exchange, exchange.getException());
-            }
         } catch (Exception e) {
+            exchange.setException(e);
+        }
+        // log exception if an exception occurred and was not handled
+        if (exchange.getException() != null) {
             getExceptionHandler().handleException("Error processing exchange", exchange, exchange.getException());
         }
     }
@@ -88,7 +89,7 @@ public class PaxLoggingConsumer extends 
         Properties props = new Properties();
         props.put("org.ops4j.pax.logging.appender.name", endpoint.getName());
         registration = endpoint.getComponent().getBundleContext().registerService(PaxAppender.class.getName(), this, props);
-        executor = Executors.newSingleThreadExecutor();
+        executor = endpoint.getCamelContext().getExecutorServiceManager().newSingleThreadExecutor(this, "PaxLoggingEventTask");
     }
 
     @Override
@@ -96,7 +97,10 @@ public class PaxLoggingConsumer extends 
         if (registration != null) {
             registration.unregister();
         }
-        executor.shutdown();
+        if (executor != null) {
+            endpoint.getCamelContext().getExecutorServiceManager().shutdownNow(executor);
+            executor = null;
+        }
         super.doStop();
     }
 }