Apache nifi 在ApacheNIFI的executescript处理器中支持Java作为语言

Apache nifi 在ApacheNIFI的executescript处理器中支持Java作为语言,apache-nifi,Apache Nifi,ExecuteScript处理器目前支持多种语言,Python;常规的;clojure;Lua等 为什么它不允许我用java编写一些自定义代码 一般来说,Java不是一种“脚本”语言。您可以在中阅读有关启用对JVM的脚本语言访问的更多信息。正如daggett指出的,您可以用纯Java编写代码并选择Groovy选项,这将把代码编译成相同的JVM字节码 除了其他答案之外,我们还可以添加一个基于Janino的Java“脚本引擎”,但它有很多限制,使得它不如仅使用Groovy那么吸引人。Groovy和J

ExecuteScript处理器目前支持多种语言,Python;常规的;clojure;Lua等

为什么它不允许我用java编写一些自定义代码

一般来说,Java不是一种“脚本”语言。您可以在中阅读有关启用对JVM的脚本语言访问的更多信息。正如daggett指出的,您可以用纯Java编写代码并选择Groovy选项,这将把代码编译成相同的JVM字节码

除了其他答案之外,我们还可以添加一个基于Janino的Java“脚本引擎”,但它有很多限制,使得它不如仅使用Groovy那么吸引人。Groovy和Java(数组初始化,直到Groovy 3,JavaLambdas)之间有一些区别,但正如其他人所说,这非常接近


话虽如此,一旦NiFi需要Java 9+,我将考虑使用Java 9中的JShell REPL东西添加Java作为脚本语言。

groovy
中,您可以像在Java中一样编写。。。ihmo。如果您想要纯java,请用java编写自定义处理器。