如果我有一个Java后端,并且我有多个用非JVM语言编写的web层应用程序,如PHP、Python、Perl、Ruby、Node.js等,如果我想连接Java和非JVM部分,我可以使用JNI将它们绑定在一起吗?我知道有REST/SOAP web服务选项,但如果我使用JNI直接连接Java和非JVM部分,它是否比使用web服务更直接、更高效?有没有一种简单通用的方法可以使用JNI连接Java和所有其他非JVM语言?
我不知道简单和通用。除了JNI,还有
- 简化的包装器和接口生成器
- Java本机访问
- ActiveMQ
- 阿帕奇骆驼
但如果我是你的话,我真的会看看SWIG(例如上面的1号)。
您可能还想了解ApacheCommonsBean脚本框架。最后,列出的所有语言都有JVM可托管的对应语言。例如,Rhino和Quercus、Jython和jRuby、jerl和sisc。