背景:
我们当前的系统涉及两个服务(一个用Java编写,另一个用PHP编写),它们使用HTTP回调相互通信。我们希望使用ActiveMQ(或其他必要的方法)从HTTP回调迁移到基于消息的体系结构。我们可能会使用STOMP在它们之间进行通信。最终,PHP服务将用Java重写,但这不是该项目的一部分。
问题:
ActiveMQ系统如何通知PHP已将新消息发布到已订阅PHP系统的队列中?在当前系统中,回调会固有地调用PHP并触发它。这与基于消息的体系结构不符。
可能的解决方案:
最佳答案
checkout Camel。它可以在ActiveMQ内运行,也可以单独运行。 Camel 为消息创建“路线”。在这种情况下,我建议您保留PHP回调URL不变,并在Camel中设置一条路由,以从队列中获取消息并将其发布到回调URL。然后,您可以在PHP中使用Stomp将消息发送到ActiveMQ。您的Java代码只能将JMS用于传入和传出消息。