首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为Java/Scala后端编写Python中间件?如何连接Java和Python?

如何为Java/Scala后端编写Python中间件?如何连接Java和Python?
EN

Stack Overflow用户
提问于 2013-07-25 06:57:11
回答 1查看 653关注 0票数 2

假设我有一个Java/Scala后端,我想用Python为它开发中间件。我没有开发中间件的经验,但我认为这意味着在Python中,我需要向运行中的Java/Scala后端程序发出命令,然后接收来自该后端的反馈。为了实现这一点,我需要对这两种语言进行接口,并且有几种接口Python和Java的选项。根据这些 页面的说法,有一些选择:

  • JPI
  • JNI
  • JPype
  • 杰普
  • Jython
  • JCC

不幸的是,JPI、JNI、JPype和Jepp似乎不再被积极开发(上一次更新是在一年多以前)。Jython仍然处于活动状态,但我了解到不可能从Jython内部导入所有Python模块。JCC似乎是Java和Python之间的某种C++层,这似乎与直觉相反。

关于这个话题,我也有过找到 一些 问题,但是大多数看起来都已经超过3年了,在internet/Python中,这当然是很长的时间。

由于我对ZeroMQ消息传递库有一些经验,所以我可以使用它,但是我必须调整它的Java程序(这不会有那么大的麻烦,但是如果有更好的解决方案.)。

因此,我的问题是:考虑到我控制了Java/Scala后端,目前为该后端编写Python中间件层的最佳方法是什么?

EN

回答 1

Stack Overflow用户

发布于 2013-07-25 07:11:16

你还没有给出很多关于你想做什么的细节。如果您的中间件运行在一个单独的进程中,那么您的中间件用什么语言编写的语言可能不会有太大的区别,只要它们能够相互交谈--您可以按照您的建议使用ZMQ来实现这一点。

如果您实际上只是从您想用Python编写的层调用Java/Scala库,那么我将使用Jython。“无法加载所有模块”只是在您计划使用一些不可用的模块时才会遇到的问题。即使对于那些不可用的模块,您也应该能够找到您可以调用的合适的Java替代品。

最后,如果您真的想在Python和Java之间直接接口,可以查看巴贝尔。我认识一些成功地使用它来连接C、Java和Python程序的人,而且它似乎对他们很好。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17851096

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档