我们正在创建新的应用程序,该应用程序将在短期内将IBM的MQ用作JMS提供程序,并在一年内切换到Tibco EMS。 我的问题是如何从应用程序代码的角度来看这些变化。
到目前为止,从JMS文档中读到,我的印象是它应该只需要很少的更改。有没有人有这方面的经验,并提供一些关于在JMS提供者之间切换所涉及的工作的意见。
答案 0 :(得分:1)
我已经完成了POC,我换了连接工厂并使用WMQ JMS类发送到各个提供商(TIBCO,ActiveMQ等),以证明可互换性。我还完成了从一个供应商JMS到另一个供应商的完全交换。从理论上讲,它应该非常简单。
最大的变化将是连接工厂。 JMS特定的所有内容在提供者之间都是相同的。代码与连接工厂的耦合越紧密,更改应用程序本身就越复杂。除此之外,您可能需要更改特定于供应商的对象实现,例如MQQueue与Queue。
中间需要保留的一件事依赖于IBM端点。如果您正在使用"目标队列管理器"在任何生产者,这些都需要改变。 WMQ具有特定的URI以到达集群中特定队列管理器上的队列(" queue:// target_qm / queue_name /")。如果任何应用程序使用此URI,则需要确保它在此处进行适当的更改。