假设我有一个 Java/Scala 后端,我想用 Python 为它开发中间件。我没有开发中间件的经验,但我认为这意味着我需要从 Python 内部向正在运行的 Java/Scala 后端程序发出命令,然后从该后端接收反馈。为此,我需要连接这两种语言,并且有几个选项可用于连接 Python 和 Java。根据这些 页面,有一些选项:
- JPI
- JNI
- 类型
- 杰普
- 杰通
- JCC
不幸的是,JPI、JNI、JPype 和 Jepp 似乎不再被积极开发(最后一次更新是一年多前)。Jython 仍然处于活动状态,但我读到无法从 Jython 中导入所有 Python 模块。JCC 似乎是 Java 和 Python 之间的某种 C++ 层,这似乎也违反直觉。
我还发现 了一些 关于该主题的问题,但大多数问题似乎已经超过 3 年,这在互联网/Python 领域当然是很长一段时间。
因为我对 ZeroMQ 消息传递库有一些经验,所以我可以使用它,但我必须为它调整 Java 程序(这不会有那么大的麻烦,但如果有更好的解决方案..) .
所以我的问题是:考虑到我可以控制 Java/Scala 后端,目前为该后端编写 Python 中间件层的最佳方法是什么?