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

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


The following commit(s) were added to refs/heads/main by this push:
     new 4dc7f8929d7 camel-groovy: Set application context ClassLoader as 
GroovyScriptClassLoader parent if present
4dc7f8929d7 is described below

commit 4dc7f8929d75d0ecd7c49519b99bebf79e15baf2
Author: James Netherton <[email protected]>
AuthorDate: Mon Jul 21 10:13:00 2025 +0100

    camel-groovy: Set application context ClassLoader as 
GroovyScriptClassLoader parent if present
---
 .../apache/camel/language/groovy/DefaultGroovyScriptCompiler.java  | 7 ++++++-
 .../org/apache/camel/language/groovy/GroovyScriptClassLoader.java  | 4 ++++
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git 
a/components/camel-groovy/src/main/java/org/apache/camel/language/groovy/DefaultGroovyScriptCompiler.java
 
b/components/camel-groovy/src/main/java/org/apache/camel/language/groovy/DefaultGroovyScriptCompiler.java
index 15a6059aab3..9ce556ef9a5 100644
--- 
a/components/camel-groovy/src/main/java/org/apache/camel/language/groovy/DefaultGroovyScriptCompiler.java
+++ 
b/components/camel-groovy/src/main/java/org/apache/camel/language/groovy/DefaultGroovyScriptCompiler.java
@@ -159,7 +159,12 @@ public class DefaultGroovyScriptCompiler extends 
ServiceSupport
             // use existing class loader if available
             classLoader = (GroovyScriptClassLoader) 
context.getClassResolver().getClassLoader("GroovyScriptClassLoader");
             if (classLoader == null) {
-                classLoader = new GroovyScriptClassLoader();
+                ClassLoader applicationContextClassLoader = 
context.getApplicationContextClassLoader();
+                if (applicationContextClassLoader != null) {
+                    classLoader = new 
GroovyScriptClassLoader(applicationContextClassLoader);
+                } else {
+                    classLoader = new GroovyScriptClassLoader();
+                }
                 context.getClassResolver().addClassLoader(classLoader);
                 // make classloader available for groovy language
                 
context.getCamelContextExtension().addContextPlugin(GroovyScriptClassLoader.class,
 classLoader);
diff --git 
a/components/camel-groovy/src/main/java/org/apache/camel/language/groovy/GroovyScriptClassLoader.java
 
b/components/camel-groovy/src/main/java/org/apache/camel/language/groovy/GroovyScriptClassLoader.java
index 638b17cb416..caecdcd78e8 100644
--- 
a/components/camel-groovy/src/main/java/org/apache/camel/language/groovy/GroovyScriptClassLoader.java
+++ 
b/components/camel-groovy/src/main/java/org/apache/camel/language/groovy/GroovyScriptClassLoader.java
@@ -33,6 +33,10 @@ public class GroovyScriptClassLoader extends ClassLoader 
implements Closeable {
         super(GroovyScriptClassLoader.class.getClassLoader());
     }
 
+    public GroovyScriptClassLoader(ClassLoader parent) {
+        super(parent);
+    }
+
     @Override
     public String getName() {
         return "GroovyScriptClassLoader";

Reply via email to