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:51:46 UTC
[camel] branch camel-2.x 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 camel-2.x
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-2.x by this push:
new 1ba4e4e CAMEL-13152: KJAR classloaded now set as CamelContext classloader for deployment-scoped contexts.
1ba4e4e is described below
commit 1ba4e4e4b14a980c7031c748d3cfcd8b44e91942
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 596f05e..119c018 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
@@ -163,7 +163,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();
@@ -190,7 +190,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);
}