From 24304ef4d4bdbe22bd76f8b5144132b0631c75e8 Mon Sep 17 00:00:00 2001 From: Artem Bilan Date: Sun, 21 Apr 2019 10:15:49 -0400 Subject: [PATCH] Fix Sonar smell around `new GroovyClassLoader()` --- .../groovy/GroovyScriptExecutingMessageProcessor.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) 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