我正在研究Spring应用程序,我们已经实现了通过IBM MQ发送消息的代码。IBM MQ vs JMS - Spring实现
现在我们已建议不要直接直接使用MQ API,而应使用JMS。我跟着
的步骤:
创建的JNDI名称来连接到消息队列配置为:
<bean id="emailQueueDestination" class="org.springframework.jndi.JndiObjectFactoryBean" lazy-init="true"> <property name="jndiName" value="<<JNDI name of Queue" >>/> </bean>
我需要一个connecton工厂对象连接到JMS提供者和我已将其配置为:
<bean id="emailQueueConnectionFactory" class="com.ibm.mq.jms.MQQueueConnectionFactory"> <property name="queueManager" value="" /> <property name="hostName" value="" /> <property name="channel" value="" /> <property name="port" value="1414" /> </bean>
而且我已经注入上述2种豆在JmsTemplate类:
<bean id="emailQueueTemplate" class="org.springframework.jms.core.JmsTemplate" lazy-init="true">
<property name="connectionFactory" ref="emailQueueConnectionFactory" />
<property name="defaultDestination" ref="emailQueueDestination" />
</bean>
现在,因为我的目的是消除对MQ API的依赖,你觉得以上(特别是连接工厂)看起来很不错的配置?
那么,你的问题到底是什么?“它看起来不错吗?”其实并不是一个真正的问题 –
嗨..我的问题是上面的实现是否使我的代码独立于IBM MQ。如果IBM MQ将来会被其他任何技术所取代,那么这段代码就可以工作 – user966506