我有一个使用DDS进行异步通信/消息传递的遗留C ++应用程序。我需要将此应用程序集成到使用JMS进行消息传递的JavaEE环境中。除了构建独立的JMS / DDS桥接模块之外,我还有其他选择吗?
答案 0 :(得分:4)
如果您想继续使用现有的DDS产品,最好的选择几乎肯定会成为一个定制桥梁。当前的DDS实现通常在消息级别不可互操作,甚至在QoS级别也不接近。
要使用类似RTI消息服务的东西,您必须使用RTI DDS。如果您碰巧已经在使用该特定产品,这可能是您的选择。否则,我建议写一个明确发布和订阅您感兴趣的主题的桥梁。
请记住,JMS没有DDS所具有的丰富的QoS集。除了最简单的情况之外,还需要弄清楚您对主题的期望是什么,并明确确定如何使用JMS实现它。
答案 1 :(得分:1)
好吧,谷歌首次推出“DDS to JMS bridge”,提出了一篇提到商业产品的论文:RTI Message Service
根据论文和产品页面,这似乎可以满足您的需求。有一个免费评估(模块化销售电话,当然。)
答案 2 :(得分:1)
您可以尝试创建一个DDS实现,该实现只委托给JMS提供者的C ++ API,例如使用Apache CMS API 3>的Apache ActiveMQ
答案 3 :(得分:0)