mq的实现可以是apache的,也可以是ibm的,配置不同的地方是connectionFactory和queue和topic应用的包不同
<!-- 配置链接器,注入apache的实现 --> <bean id="connectionFactory" class="org.springframework.jms.connection.SingleConnectionFactory"> <property name="targetConnectionFactory" ref="apacheConnectionFactory"></property> </bean> <!-- apache <bean id="apacheConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory"> <property name="brokerURL" value="tcp://localhost:61616" /> </bean> --> <!--ibm的实现 --> <bean id="apacheConnectionFactory" class="com.ibm.mq.jms.MQConnectionFactory"> <property name="hostName" value="192.168.8.100" /> <property name="queueManager" value="MqTest" /> <property name="port" value="1414" /> <property name="transportType" value="1" /> </bean> <!-- 配置生产者发送消息的工具类 --> <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate"> <property name="connectionFactory" ref="connectionFactory"></property> </bean> <!-- 生产者的发送信息的方式,一对一还是一对多 --> <!--这个是队列目的地,点对点的 --> <bean id="receivequeueDestination" class="com.ibm.mq.jms.MQQueue"> <constructor-arg value="test.test" /> </bean> <bean id="sendqueueDestination" class="com.ibm.mq.jms.MQQueue"> <constructor-arg value="test.test" /> </bean> <!-- 这个是主题目的地,一对多的 --> <bean id="topicDestination" class="com.ibm.mq.jms.MQTopic"> <constructor-arg value="12" /> </bean> <!-- 消费者的监听器 --> <bean id="messageListener" class="mq.Consumer"></bean> <!-- 消费者的监听容器 --> <bean id="jmsContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer"> <property name="connectionFactory" ref="connectionFactory" /> <property name="destination" ref="sendqueueDestination" /> <property name="messageListener" ref="messageListener" /> </bean> <bean id="producer" class="mq.Producer"></bean>