You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2016/03/22 11:06:48 UTC

[2/2] karaf-decanter git commit: KARAF-4431 - Improve classloader handling in kafka appender

KARAF-4431 - Improve classloader handling in kafka appender


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

Branch: refs/heads/master
Commit: f0b749b5f876b1def888e613e57d3c3a6fd07a8b
Parents: 69bbf4b
Author: Jean-Baptiste Onofré <jb...@apache.org>
Authored: Tue Mar 22 11:06:21 2016 +0100
Committer: Jean-Baptiste Onofré <jb...@apache.org>
Committed: Tue Mar 22 11:06:21 2016 +0100

----------------------------------------------------------------------
 .../apache/karaf/decanter/appender/kafka/KafkaAppender.java | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf-decanter/blob/f0b749b5/appender/kafka/src/main/java/org/apache/karaf/decanter/appender/kafka/KafkaAppender.java
----------------------------------------------------------------------
diff --git a/appender/kafka/src/main/java/org/apache/karaf/decanter/appender/kafka/KafkaAppender.java b/appender/kafka/src/main/java/org/apache/karaf/decanter/appender/kafka/KafkaAppender.java
index 241d843..a4e4e09 100644
--- a/appender/kafka/src/main/java/org/apache/karaf/decanter/appender/kafka/KafkaAppender.java
+++ b/appender/kafka/src/main/java/org/apache/karaf/decanter/appender/kafka/KafkaAppender.java
@@ -127,8 +127,13 @@ public class KafkaAppender implements EventHandler {
         this.topic = getValue(config, "topic", "decanter");
 
         // workaround for KAFKA-3218
-        Thread.currentThread().setContextClassLoader(null);
-        this.producer = new KafkaProducer<>(properties);
+        ClassLoader originClassLoader = Thread.currentThread().getContextClassLoader();
+        try {
+            Thread.currentThread().setContextClassLoader(null);
+            this.producer = new KafkaProducer<>(properties);
+        } finally {
+            Thread.currentThread().setContextClassLoader(originClassLoader);
+        }
     }
     
     private String getValue(Dictionary<String, Object> config, String key, String defaultValue) {