Version: 17.07
Supported Since: 17.07
The Script Evaluator family of processing elements are based on the JSR223 specification,
with all core implementations wrapped by a parent class org.adroitlogic.x.processor.scripting.jsr223.base.ScriptEvaluator
.
If you wish to utilize a currently unsupported language for scripting inside an integration flow,
for which there exists a JSR223-compliant binding, you can simply write a new processing element by extending the
org.adroitlogic.x.processor.scripting.jsr223.base.ScriptEvaluator
class and
passing as the superclads constructor argument the name of the language accepted by the JSR223 binding.
For example, for a language AcmeScript that has a JSR223 binding com.acme:jacme:1.0
:
package org.adroitlogic.x.processor.scripting.jsr223.python;
import org.adroitlogic.x.annotation.config.Processor;
import org.adroitlogic.x.api.config.ProcessorType;
import org.adroitlogic.x.logging.LogInfo;
import org.adroitlogic.x.processor.scripting.jsr223.base.ScriptEvaluator;
@Processor(displayName = "Acme Snippet", type = {ProcessorType.GENERIC})
public class AcmeSnippet extends ScriptEvaluator {
public AcmeSnippet() {
super("acme"); // JSR223 language name supported by com.acme:jacme binding
}
}
Be sure to also include the binding library as a runtime dependency of your project, either as an IDEA library or as a Maven dependency:
<dependency>
<groupId>com.acme</groupId>
<artifactId>jacme</artifactId>
<version>1.0</version>
<scope>runtime</scope>
</dependency>