在Apache Nifi中,支持Java作为executescript处理器中的一种语言



ExecuteScript处理器目前支持多种语言,Python;Groovy;clojure;Lua等
为什么它不允许我用java编写一些自定义代码?

除了其他答案之外,我们还可以添加一个基于Janino的Java"脚本引擎",但它有很多局限性,这使得它比仅仅使用Groovy更有吸引力。Groovy和Java之间有一些区别(数组初始化,直到Groovy3,Java lambdas(,但正如其他人所说,这非常接近。

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

一般来说,Java不是一种"脚本"语言。您可以在JSR-223中阅读更多关于启用脚本语言访问JVM的内容。正如daggett所指出的,您可以用纯Java编写代码,并选择Groovy选项,这将把代码编译为相同的JVM字节码。

相关内容

最新更新