Fix for kafka partitioner static initializer in OSGI env

Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/eba0e077
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/eba0e077
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/eba0e077

Branch: refs/heads/master
Commit: eba0e077e6b38c4d01eb22b13816aae99d4819a4
Parents: eb7e824
Author: John Moon <[email protected]>
Authored: Wed Jun 29 14:44:55 2016 -0400
Committer: Claus Ibsen <[email protected]>
Committed: Fri Jul 1 08:28:53 2016 +0200

----------------------------------------------------------------------
 .../java/org/apache/camel/component/kafka/KafkaProducer.java | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/eba0e077/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaProducer.java
----------------------------------------------------------------------
diff --git 
a/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaProducer.java
 
b/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaProducer.java
index b1a496c..6170151 100644
--- 
a/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaProducer.java
+++ 
b/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaProducer.java
@@ -80,7 +80,13 @@ public class KafkaProducer extends DefaultAsyncProducer {
     protected void doStart() throws Exception {
         Properties props = getProps();
         if (kafkaProducer == null) {
-            kafkaProducer = new 
org.apache.kafka.clients.producer.KafkaProducer(props);
+            ClassLoader threadClassLoader = 
Thread.currentThread().getContextClassLoader();
+            try {
+                Thread.currentThread().setContextClassLoader(null);
+                kafkaProducer = new 
org.apache.kafka.clients.producer.KafkaProducer(props);
+            } finally {
+                
Thread.currentThread().setContextClassLoader(threadClassLoader);
+            }
         }
 
         // if we are in asynchronous mode we need a worker pool

Reply via email to