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 2019/08/06 09:02:54 UTC

[camel] branch master updated (3fa8160 -> 080ad19)

This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git.


    from 3fa8160  CAMEL-9971: Added appendChars option to file component.
     new 015dbc1  Polished
     new 080ad19  CAMEL-10456: Restoring old TCCL should store old value regardless if it was null, as otherwise it can leak changing the TCCL.

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../java/org/apache/camel/component/chunk/ChunkEndpoint.java     | 4 +---
 .../org/apache/camel/component/jcache/osgi/OSGiCacheManager.java | 4 +---
 .../main/java/org/apache/camel/component/jms/JmsProducer.java    | 6 ++----
 .../org/apache/camel/component/mustache/MustacheEndpoint.java    | 4 +---
 .../org/apache/camel/component/rabbitmq/RabbitMQProducer.java    | 4 +---
 .../camel/spring/scan/DefaultPackageScanClassResolverTest.java   | 9 ++-------
 .../src/main/java/org/apache/camel/spi/CamelContextTracker.java  | 8 +++++++-
 .../src/main/java/org/apache/camel/support/ObjectHelper.java     | 6 ++----
 8 files changed, 17 insertions(+), 28 deletions(-)


[camel] 02/02: CAMEL-10456: Restoring old TCCL should store old value regardless if it was null, as otherwise it can leak changing the TCCL.

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 080ad19852bca149255839999c21a67dd3ede0e9
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue Aug 6 10:34:52 2019 +0200

    CAMEL-10456: Restoring old TCCL should store old value regardless if it was null, as otherwise it can leak changing the TCCL.
---
 .../java/org/apache/camel/component/chunk/ChunkEndpoint.java     | 4 +---
 .../org/apache/camel/component/jcache/osgi/OSGiCacheManager.java | 4 +---
 .../main/java/org/apache/camel/component/jms/JmsProducer.java    | 6 ++----
 .../org/apache/camel/component/mustache/MustacheEndpoint.java    | 4 +---
 .../org/apache/camel/component/rabbitmq/RabbitMQProducer.java    | 4 +---
 .../camel/spring/scan/DefaultPackageScanClassResolverTest.java   | 9 ++-------
 .../src/main/java/org/apache/camel/support/ObjectHelper.java     | 6 ++----
 7 files changed, 10 insertions(+), 27 deletions(-)

diff --git a/components/camel-chunk/src/main/java/org/apache/camel/component/chunk/ChunkEndpoint.java b/components/camel-chunk/src/main/java/org/apache/camel/component/chunk/ChunkEndpoint.java
index 9773a80..1a4d8cf 100644
--- a/components/camel-chunk/src/main/java/org/apache/camel/component/chunk/ChunkEndpoint.java
+++ b/components/camel-chunk/src/main/java/org/apache/camel/component/chunk/ChunkEndpoint.java
@@ -147,9 +147,7 @@ public class ChunkEndpoint extends ResourceEndpoint {
             return newChunk;
         } finally {
             resourceReader.close();
-            if (oldcl != null) {
-                Thread.currentThread().setContextClassLoader(oldcl);
-            }
+            Thread.currentThread().setContextClassLoader(oldcl);
         }
     }
 
diff --git a/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/osgi/OSGiCacheManager.java b/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/osgi/OSGiCacheManager.java
index e6bfc9f..2641a81 100644
--- a/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/osgi/OSGiCacheManager.java
+++ b/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/osgi/OSGiCacheManager.java
@@ -56,9 +56,7 @@ public final class OSGiCacheManager<K, V> extends JCacheManager {
 
             return cache;
         } finally {
-            if (jcl != null) {
-                Thread.currentThread().setContextClassLoader(tccl);
-            }
+            Thread.currentThread().setContextClassLoader(tccl);
         }
     }
 
diff --git a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsProducer.java b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsProducer.java
index cdf0ac2..ae532db 100644
--- a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsProducer.java
+++ b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsProducer.java
@@ -81,7 +81,7 @@ public class JmsProducer extends DefaultAsyncProducer {
                 // must use the classloader from the application context when creating reply manager,
                 // as it should inherit the classloader from app context and not the current which may be
                 // a different classloader
-                ClassLoader current = Thread.currentThread().getContextClassLoader();
+                ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader();
                 ClassLoader ac = endpoint.getCamelContext().getApplicationContextClassLoader();
                 try {
                     if (ac != null) {
@@ -108,9 +108,7 @@ public class JmsProducer extends DefaultAsyncProducer {
                 } catch (Exception e) {
                     throw new FailedToCreateProducerException(endpoint, e);
                 } finally {
-                    if (ac != null) {
-                        Thread.currentThread().setContextClassLoader(current);
-                    }
+                    Thread.currentThread().setContextClassLoader(oldClassLoader);
                 }
                 started.set(true);
             }
diff --git a/components/camel-mustache/src/main/java/org/apache/camel/component/mustache/MustacheEndpoint.java b/components/camel-mustache/src/main/java/org/apache/camel/component/mustache/MustacheEndpoint.java
index 1733bf0..16cb62f 100644
--- a/components/camel-mustache/src/main/java/org/apache/camel/component/mustache/MustacheEndpoint.java
+++ b/components/camel-mustache/src/main/java/org/apache/camel/component/mustache/MustacheEndpoint.java
@@ -132,9 +132,7 @@ public class MustacheEndpoint extends ResourceEndpoint {
             return newMustache;
         } finally {
             resourceReader.close();
-            if (oldcl != null) {
-                Thread.currentThread().setContextClassLoader(oldcl);
-            }
+            Thread.currentThread().setContextClassLoader(oldcl);
         }
     }
 
diff --git a/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQProducer.java b/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQProducer.java
index e2f066e..f59fa9b 100644
--- a/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQProducer.java
+++ b/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQProducer.java
@@ -340,9 +340,7 @@ public class RabbitMQProducer extends DefaultAsyncProducer {
                 } catch (Exception e) {
                     throw new FailedToCreateProducerException(getEndpoint(), e);
                 } finally {
-                    if (ac != null) {
-                        Thread.currentThread().setContextClassLoader(current);
-                    }
+                    Thread.currentThread().setContextClassLoader(current);
                 }
                 started.set(true);
             }
diff --git a/components/camel-spring/src/test/java/org/apache/camel/spring/scan/DefaultPackageScanClassResolverTest.java b/components/camel-spring/src/test/java/org/apache/camel/spring/scan/DefaultPackageScanClassResolverTest.java
index 0b1c99d..d9236fc 100644
--- a/components/camel-spring/src/test/java/org/apache/camel/spring/scan/DefaultPackageScanClassResolverTest.java
+++ b/components/camel-spring/src/test/java/org/apache/camel/spring/scan/DefaultPackageScanClassResolverTest.java
@@ -153,7 +153,6 @@ public class DefaultPackageScanClassResolverTest extends org.apache.camel.spring
             URL urls[] = {new URL("jar:" + url.toString() + "!/")};
             URLClassLoader classLoader = new URLClassLoader(urls, savedClassLoader);
 
-
             Thread.currentThread().setContextClassLoader(classLoader);
 
             // recreate resolver since we mess with context class loader
@@ -165,9 +164,7 @@ public class DefaultPackageScanClassResolverTest extends org.apache.camel.spring
             assertEquals(1, scanned.size());
             assertEquals("class a.b.c.Test", scanned.iterator().next().toString());            
         } finally {
-            if (savedClassLoader != null) {
-                Thread.currentThread().setContextClassLoader(savedClassLoader);
-            } 
+            Thread.currentThread().setContextClassLoader(savedClassLoader);
         }
     }
     
@@ -193,9 +190,7 @@ public class DefaultPackageScanClassResolverTest extends org.apache.camel.spring
             assertEquals(1, scanned.size());
             assertEquals("class a.b.c.Test", scanned.iterator().next().toString());
         } finally {
-            if (savedClassLoader != null) {
-                Thread.currentThread().setContextClassLoader(savedClassLoader);
-            }
+            Thread.currentThread().setContextClassLoader(savedClassLoader);
         }
     }
 
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/ObjectHelper.java b/core/camel-support/src/main/java/org/apache/camel/support/ObjectHelper.java
index 69b477a..fd51dcb 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/ObjectHelper.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/ObjectHelper.java
@@ -297,16 +297,14 @@ public final class ObjectHelper {
      * @return the result of Callable return
      */
     public static Object callWithTCCL(Callable<?> call, ClassLoader classloader) throws Exception {
-        ClassLoader tccl = Thread.currentThread().getContextClassLoader();
+        final ClassLoader tccl = Thread.currentThread().getContextClassLoader();
         try {
             if (classloader != null) {
                 Thread.currentThread().setContextClassLoader(classloader);
             }
             return call.call();
         } finally {
-            if (tccl != null) {
-                Thread.currentThread().setContextClassLoader(tccl);
-            }
+            Thread.currentThread().setContextClassLoader(tccl);
         }
     }
 


[camel] 01/02: Polished

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 015dbc19ce3592aa6f7c4bb75cd9ddb6f33d944a
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue Aug 6 10:23:53 2019 +0200

    Polished
---
 .../src/main/java/org/apache/camel/spi/CamelContextTracker.java   | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/core/camel-api/src/main/java/org/apache/camel/spi/CamelContextTracker.java b/core/camel-api/src/main/java/org/apache/camel/spi/CamelContextTracker.java
index 7318db5..8015dc3 100644
--- a/core/camel-api/src/main/java/org/apache/camel/spi/CamelContextTracker.java
+++ b/core/camel-api/src/main/java/org/apache/camel/spi/CamelContextTracker.java
@@ -26,7 +26,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
- * A {@link CamelContext} creation tracker.
+ * A {@link CamelContext} creation and destruction tracker.
  */
 public class CamelContextTracker implements Closeable {
 
@@ -76,10 +76,16 @@ public class CamelContextTracker implements Closeable {
         // do nothing
     }
 
+    /**
+     * Opens the tracker to start tracking when new {@link CamelContext} is created or destroyed.
+     */
     public final void open() {
         TRACKERS.add(this);
     }
 
+    /**
+     * Closes the tracker so it not longer tracks.
+     */
     @Override
     public final void close() {
         TRACKERS.remove(this);