1.1
(1)springjms_producerPOMSpringJms activeMQ
2src/main/resourcesspringapplicationContext-jms-producer.xml
| "cn.itcast.demo" "targetConnectionFactory""org.apache.activemq.ActiveMQConnectionFactory" "brokerURL""tcp://192.168.25.135:61616" "connectionFactory""org.springframework.jms.connection.SingleConnectionFactory" "targetConnectionFactory""targetConnectionFactory" "jmsTemplate""org.springframework.jms.core.JmsTemplate" "connectionFactory""connectionFactory" "queueTextDestination""org.apache.activemq.command.ActiveMQQueue" "queue_text" |
3cn.itcast.demo
| @Component publicclass @Autowired private @Autowired private /** @param publicvoidfinal jmsTemplate.send(queueTextDestination, new publicthrows return } }); } } |
4
src/test/java
| @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations="classpath:applicationContext-jms-producer.xml") publicclass @Autowired private @Test publicvoid queueProducer.sendTextMessage("SpringJms-点对点"); } } |
1.2
(1)springjms_consumerPOM
2applicationContext-jms-consumer-queue.xml
| "targetConnectionFactory""org.apache.activemq.ActiveMQConnectionFactory" "brokerURL""tcp://192.168.25.135:61616" "connectionFactory""org.springframework.jms.connection.SingleConnectionFactory" "targetConnectionFactory""targetConnectionFactory" "queueTextDestination""org.apache.activemq.command.ActiveMQQueue" "queue_text" <!-- 我的监听类 --> "myMessageListener""cn.itcast.demo.MyMessageListener"></bean> <!-- 消息监听容器 --> "org.springframework.jms.listener.DefaultMessageListenerContainer"> "connectionFactory""connectionFactory" "destination""queueTextDestination" "messageListener""myMessageListener" </bean> |
3
| publicclassimplements publicvoid TextMessage textMessage=(TextMessage)message; try System.out.println("接收到消息:"+textMessage.getText()); } catch e.printStackTrace(); } } } |
4
| @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations="classpath:applicationContext-jms-consumer-queue.xml") publicclass @Test publicvoid try System.in.read(); } catch e.printStackTrace(); } } } |
2、/
2.1
1springjms_producerapplicationContext-jms-producer.xml
| "topicTextDestination""org.apache.activemq.command.ActiveMQTopic" "topic_text" |
2
| @Component publicclass @Autowired private @Autowired private /** @param publicvoidfinal jmsTemplate.send(topicTextDestination, new publicsession) throws return } }); } } |
3
| import import import import import import @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations="classpath:applicationContext-activemq-producer.xml") publicclass @Autowired private @Test publicvoid topicProducer.sendTextMessage(); } } |
2.2
(1)activemq-spring-consumerapplicationContext-jms-consumer-topic.xml
| "targetConnectionFactory""org.apache.activemq.ActiveMQConnectionFactory" "brokerURL""tcp://192.168.25.135:61616" </bean> "connectionFactory""org.springframework.jms.connection.SingleConnectionFactory" "targetConnectionFactory""targetConnectionFactory" <bean id="topicTextDestination""org.apache.activemq.command.ActiveMQTopic" "topic_text" <!-- 我的监听类 --> "myMessageListener""cn.itcast.demo.MyMessageListener"></bean> <!-- 消息监听容器 --> "org.springframework.jms.listener.DefaultMessageListenerContainer"> "connectionFactory""connectionFactory" "destination""topicTextDestination" "messageListener""myMessageListener" </bean> |
(2)编写测试类
| @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations="classpath:applicationContext-jms-consumer-topic.xml") publicclass @Test publicvoid try System.in.read(); } catch e.printStackTrace(); } } } |
测试:同时运行三个消费者工程,在运行生产者工程,查看三个消费者工程的控制台输出。