You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2019/02/06 10:49:59 UTC

[camel] branch master updated: CAMEL-13152: KJAR classloaded now set as CamelContext classloader for deployment-scoped contexts.

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 3ad14ea  CAMEL-13152: KJAR classloaded now set as CamelContext classloader for deployment-scoped contexts.
3ad14ea is described below

commit 3ad14ea4696ca39ba5796b566837fff5e8b97ebd
Author: Duncan Doyle <Du...@gmail.com>
AuthorDate: Fri Feb 1 15:14:41 2019 +0100

    CAMEL-13152: KJAR classloaded now set as CamelContext classloader for deployment-scoped contexts.
---
 .../component/jbpm/server/CamelKieServerExtension.java    | 15 +++++++++------
 .../jbpm/server/CamelKieServerExtensionTest.java          |  4 ++--
 2 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/components/camel-jbpm/src/main/java/org/apache/camel/component/jbpm/server/CamelKieServerExtension.java b/components/camel-jbpm/src/main/java/org/apache/camel/component/jbpm/server/CamelKieServerExtension.java
index 607867e..7299bf8 100644
--- a/components/camel-jbpm/src/main/java/org/apache/camel/component/jbpm/server/CamelKieServerExtension.java
+++ b/components/camel-jbpm/src/main/java/org/apache/camel/component/jbpm/server/CamelKieServerExtension.java
@@ -129,12 +129,13 @@ public class CamelKieServerExtension implements KieServerExtension {
         try (InputStream is = classloader.getResourceAsStream("camel-routes.xml")) {
             if (is != null) {
 
-                DefaultCamelContext context = (DefaultCamelContext)buildDeploymentContext(id);
+                DefaultCamelContext context = (DefaultCamelContext)buildDeploymentContext(id, classloader);
                 context.setName("KIE Server Camel context for container " + kieContainerInstance.getContainerId());
 
                 RoutesDefinition routes = context.loadRoutesDefinition(is);
                 annotateKJarRoutes(routes, id);
                 context.addRouteDefinitions(routes.getRoutes());
+                
                 context.start();
                 camelContexts.put(id, context);
 
@@ -258,8 +259,9 @@ public class CamelKieServerExtension implements KieServerExtension {
         }.buildCamelContext();
     }
 
-    protected CamelContext buildDeploymentContext(String identifier) {
-
+    protected CamelContext buildDeploymentContext(String identifier, ClassLoader classloader) {
+       
+        
         InternalRuntimeManager runtimeManager = (InternalRuntimeManager)RuntimeManagerRegistry.get().getManager(identifier);
 
         if (runtimeManager != null) {
@@ -269,9 +271,10 @@ public class CamelKieServerExtension implements KieServerExtension {
                 return deploymentContextBuilder.buildCamelContext();
             }
         }
-
-        return new CamelContextBuilder() {
-        }.buildCamelContext();
+        CamelContext camelContext = new CamelContextBuilder() { 
+        }.buildCamelContext();       
+        camelContext.setApplicationContextClassLoader(classloader);
+        return camelContext;
     }
 
     protected CamelContextBuilder discoverCamelContextBuilder() {
diff --git a/components/camel-jbpm/src/test/java/org/apache/camel/component/jbpm/server/CamelKieServerExtensionTest.java b/components/camel-jbpm/src/test/java/org/apache/camel/component/jbpm/server/CamelKieServerExtensionTest.java
index e750231..9c6076c 100644
--- a/components/camel-jbpm/src/test/java/org/apache/camel/component/jbpm/server/CamelKieServerExtensionTest.java
+++ b/components/camel-jbpm/src/test/java/org/apache/camel/component/jbpm/server/CamelKieServerExtensionTest.java
@@ -164,7 +164,7 @@ public class CamelKieServerExtensionTest {
         RuntimeManagerRegistry.get().register(runtimeManager);
 
         CamelKieServerExtension extension = new CamelKieServerExtension();
-        CamelContext context = extension.buildDeploymentContext(identifier);
+        CamelContext context = extension.buildDeploymentContext(identifier, this.getClass().getClassLoader());
         assertNotNull(context);
 
         context.stop();
@@ -191,7 +191,7 @@ public class CamelKieServerExtensionTest {
         RuntimeManagerRegistry.get().register(runtimeManager);
 
         CamelKieServerExtension extension = new CamelKieServerExtension();
-        CamelContext context = extension.buildDeploymentContext(identifier);
+        CamelContext context = extension.buildDeploymentContext(identifier, this.getClass().getClassLoader());
         assertNull(context);
 
     }