gpt4 book ai didi

通过消息代理进行 Java/Python 通信

转载 作者:太空狗 更新时间:2023-10-29 17:32:30 24 4
gpt4 key购买 nike

通过同时支持 (C)Python 和 Java/JMS 应用程序的消息代理进行通信的好的解决方案是什么?我的特殊要求是:

  • 开源解决方案
  • 在基于 Linux 的系统上可用
  • 不需要发送方和接收方之间的会合(即使用消息代理)
  • 单个事件队列支持多个生产者和消费者(每条消息只有一个消费者接收)
  • 支持两阶段提交的工作单元(XA 支持很不错)
  • 支持持久消息(即在代理重启后仍然存在)
  • 支持 Java 客户端的 JMS
  • 没有任何组件是“边缘”的,这意味着由于缺乏社区支持/兴趣而面临停止维护的风险
  • 如果有一个 Python 客户端设法“说 JMS”,那会很棒,但是可以接受包含编写我自己的 Python JMS 层的任务的答案

我很难找到解决方案。 Apache 的 ActiveMQ 没有开箱即用的 Python 支持。 ZeroMQ 需要一个集合点。 RabbitMQ 似乎不支持 JMS。我找到的最佳候选者是 ActiveMQ 和 pyactivemq 库的组合。但是 pyactivemq 的第一个也是最后一个版本是在 2008 年发布的,所以它似乎不符合我的“无边缘”要求。

理想的答案是一个或多个得到良好支持和详细记录的开源包的名称,您个人曾使用这些包在 Java/JMS 和 Python 应用程序之间进行通信,并且不需要大量集成开始工作。包含“简单”(最多几天的工作)实现附加胶水代码以满足上述所有要求的答案是可以接受的。在没有好的开源候选者的情况下,商业解决方案也是可以接受的。

此外,Jython 已出局。 (要是我能就好了……)相同的 Python 应用程序将需要使用仅在 CPython 中可用的模块。

最佳答案

JMS 是一个规范而不是实现。 RabbitMQ 是一个真正的选择。

我也愉快地使用了HornetQ http://www.jboss.org/hornetq来自 Jboss 的每一件事,它与 Java EE 的每一件事都更一致,但如果你也使用 Spring,RabbitMQ 将是特别的选择

关于通过消息代理进行 Java/Python 通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6551718/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com