JMS/DDS 集成
Posted
技术标签:
【中文标题】JMS/DDS 集成【英文标题】:JMS/DDS Integration 【发布时间】:2008-11-21 22:58:43 【问题描述】:我有一个旧版 C++ 应用程序,它使用 DDS 进行异步通信/消息传递。我需要将此应用程序集成到使用 JMS 进行消息传递的 JavaEE 环境中。除了构建一个独立的 JMS/DDS 桥模块之外,我还有其他选择吗?
【问题讨论】:
【参考方案1】:如果您想继续使用现有的 DDS 产品,您最好的选择几乎肯定是定制桥接器。当前的 DDS 实现通常在消息级别无法互操作,甚至在 QoS 级别也无法实现。
要使用 RTI Message Service 之类的东西,您必须使用 RTI DDS。如果您碰巧已经在使用该特定产品,这可能是您的一个选择。否则,我建议您编写一个明确发布和订阅您感兴趣的主题的桥梁。
请记住,JMS 没有 DDS 所具有的丰富的 QoS 集。除了最简单的情况外,您都需要弄清楚您对主题的真正期望,并明确确定如何使用 JMS 来实现它。
【讨论】:
【参考方案2】:嗯,谷歌第一次点击“DDS 到 JMS 桥”带来了一篇提到商业产品的论文:RTI Message Service
根据论文和产品页面,这似乎可以满足您的需求。有免费评估(当然,以销售电话为模。)
【讨论】:
【参考方案3】:您可以尝试创建一个 DDS 实现,它只委托给 JMS 提供者的 C++ API,例如使用 Apache CMS API,它与 Apache ActiveMQ 配合得很好
【讨论】:
【参考方案4】:RTI 还提供了一个单独的 DDS 到 JMS 的双向桥。这个产品叫做 Connext Integrator
【讨论】:
以上是关于JMS/DDS 集成的主要内容,如果未能解决你的问题,请参考以下文章