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) {