Skip to content

Commit e981650

Browse files
authored
Add --no-java flag for Nashorn runtime (#429)
--no-java flag for nashorn runtime
1 parent 5976cad commit e981650

File tree

4 files changed

+13
-14
lines changed

4 files changed

+13
-14
lines changed

conductor-clients/java/conductor-java-sdk/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ subprojects {
3535
implementation "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:${versions.jackson}"
3636
implementation "com.fasterxml.jackson.module:jackson-module-kotlin:${versions.jackson}"
3737
implementation "com.fasterxml.jackson.module:jackson-module-afterburner:${versions.jackson}"
38+
implementation "org.openjdk.nashorn:nashorn-core:15.4"
3839

3940
implementation "org.slf4j:slf4j-api:${versions.slf4j}"
4041
implementation "org.apache.commons:commons-lang3:${versions.commonsLang}"

conductor-clients/java/conductor-java-sdk/sdk/src/main/java/com/netflix/conductor/sdk/workflow/def/tasks/Javascript.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@
1919

2020
import javax.script.Bindings;
2121
import javax.script.ScriptEngine;
22-
import javax.script.ScriptEngineManager;
2322
import javax.script.ScriptException;
2423

24+
import org.openjdk.nashorn.api.scripting.NashornScriptEngineFactory;
2525
import org.slf4j.Logger;
2626
import org.slf4j.LoggerFactory;
2727

@@ -100,7 +100,7 @@ public String getExpression() {
100100
* @return
101101
*/
102102
public Javascript validate() {
103-
ScriptEngine scriptEngine = new ScriptEngineManager().getEngineByName(ENGINE);
103+
ScriptEngine scriptEngine = new NashornScriptEngineFactory().getScriptEngine("--no-java");
104104
if (scriptEngine == null) {
105105
LOGGER.error("missing " + ENGINE + " engine. Ensure you are running supported JVM");
106106
return this;
@@ -128,7 +128,7 @@ public Javascript validate() {
128128
*/
129129
public Object test(Map<String, Object> input) {
130130

131-
ScriptEngine scriptEngine = new ScriptEngineManager().getEngineByName(ENGINE);
131+
ScriptEngine scriptEngine = new NashornScriptEngineFactory().getScriptEngine("--no-java");
132132
if (scriptEngine == null) {
133133
LOGGER.error("missing " + ENGINE + " engine. Ensure you are running supported JVM");
134134
return this;

core/src/main/java/com/netflix/conductor/core/events/ScriptEvaluator.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414

1515
import javax.script.Bindings;
1616
import javax.script.ScriptEngine;
17-
import javax.script.ScriptEngineManager;
1817
import javax.script.ScriptException;
1918

2019
import org.openjdk.nashorn.api.scripting.NashornScriptEngineFactory;
@@ -61,11 +60,11 @@ public static String getEnv(String name) {
6160

6261
public static void initEngine(boolean reInit) {
6362
if (engine == null || reInit) {
63+
NashornScriptEngineFactory factory = new NashornScriptEngineFactory();
6464
if ("true".equalsIgnoreCase(getEnv("CONDUCTOR_NASHORN_ES6_ENABLED"))) {
65-
NashornScriptEngineFactory factory = new NashornScriptEngineFactory();
66-
engine = factory.getScriptEngine("--language=es6");
65+
engine = factory.getScriptEngine("--language=es6", "--no-java");
6766
} else {
68-
engine = new ScriptEngineManager().getEngineByName("Nashorn");
67+
engine = factory.getScriptEngine("--no-java");
6968
}
7069
}
7170
if (engine == null) {

java-sdk/src/main/java/com/netflix/conductor/sdk/workflow/def/tasks/Javascript.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919

2020
import javax.script.Bindings;
2121
import javax.script.ScriptEngine;
22-
import javax.script.ScriptEngineManager;
2322
import javax.script.ScriptException;
2423

2524
import org.openjdk.nashorn.api.scripting.NashornScriptEngineFactory;
@@ -103,11 +102,11 @@ public String getExpression() {
103102
*/
104103
public Javascript validate() {
105104
ScriptEngine scriptEngine;
105+
NashornScriptEngineFactory factory = new NashornScriptEngineFactory();
106106
if ("true".equalsIgnoreCase(System.getenv("CONDUCTOR_NASHORN_ES6_ENABLED"))) {
107-
NashornScriptEngineFactory factory = new NashornScriptEngineFactory();
108-
scriptEngine = factory.getScriptEngine("--language=es6");
107+
scriptEngine = factory.getScriptEngine("--language=es6", "--no-java");
109108
} else {
110-
scriptEngine = new ScriptEngineManager().getEngineByName("Nashorn");
109+
scriptEngine = factory.getScriptEngine("--no-java");
111110
}
112111
if (scriptEngine == null) {
113112
LOGGER.error("missing " + ENGINE + " engine. Ensure you are running supported JVM");
@@ -137,11 +136,11 @@ public Javascript validate() {
137136
public Object test(Map<String, Object> input) {
138137

139138
ScriptEngine scriptEngine;
139+
NashornScriptEngineFactory factory = new NashornScriptEngineFactory();
140140
if ("true".equalsIgnoreCase(System.getenv("CONDUCTOR_NASHORN_ES6_ENABLED"))) {
141-
NashornScriptEngineFactory factory = new NashornScriptEngineFactory();
142-
scriptEngine = factory.getScriptEngine("--language=es6");
141+
scriptEngine = factory.getScriptEngine("--language=es6", "--no-java");
143142
} else {
144-
scriptEngine = new ScriptEngineManager().getEngineByName("Nashorn");
143+
scriptEngine = factory.getScriptEngine("--no-java");
145144
}
146145
if (scriptEngine == null) {
147146
LOGGER.error("missing " + ENGINE + " engine. Ensure you are running supported JVM");

0 commit comments

Comments
 (0)