diff --git a/spring-integration-groovy/src/main/java/org/springframework/integration/groovy/GroovyScriptExecutingMessageProcessor.java b/spring-integration-groovy/src/main/java/org/springframework/integration/groovy/GroovyScriptExecutingMessageProcessor.java index 9c2901f7a8..2711da17f3 100644 --- a/spring-integration-groovy/src/main/java/org/springframework/integration/groovy/GroovyScriptExecutingMessageProcessor.java +++ b/spring-integration-groovy/src/main/java/org/springframework/integration/groovy/GroovyScriptExecutingMessageProcessor.java @@ -150,13 +150,18 @@ public class GroovyScriptExecutingMessageProcessor extends AbstractScriptExecuti ((ConfigurableListableBeanFactory) beanFactory).ignoreDependencyType(MetaClass.class); } - CompilerConfiguration compilerConfig = this.compilerConfiguration; - if (compilerConfig == null && this.compileStatic) { + CompilerConfiguration compilerConfig; + if (this.compilerConfiguration == null && this.compileStatic) { compilerConfig = new CompilerConfiguration(); compilerConfig.addCompilationCustomizers(new ASTTransformationCustomizer(CompileStatic.class)); } + else { + compilerConfig = this.compilerConfiguration; + } - this.groovyClassLoader = new GroovyClassLoader(getBeanClassLoader(), compilerConfig); + this.groovyClassLoader = + AccessController.doPrivileged((PrivilegedAction) + () -> new GroovyClassLoader(getBeanClassLoader(), compilerConfig)); } @Override