Spring ActiveMQ 整合(一): 一个简单的demo,测试消息的发送与接收
2017-03-30 15:08
627 查看
最近项目中用到了消息中间件,拿到任务后,各种百度各种学习,现将学习的一个小成果记录一下。
applicationContext.xml
ReceiverOne.java
运行JMSTest的结果:
看到控制台答应出来的 2 ,就说明 这个消息是发送成功 并且能,成功接收的,说明我们的topic消息的发送与接收是成功的。
环境:
windows环境下: Spring 3.2.8 、Tomcat 7 、JDK 1.6 、 ActiveMQ 5.9.0项目目录结构:
applicationContext.xml
<!--创建连接工厂 --> <bean id="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory"> <property name="brokerURL" value="tcp://localhost:61616"></property> </bean> <!-- 声明ActiveMQ消息目标,目标可以是一个队列,也可以是一个主题ActiveMQTopic --> <bean id="destinationOne" class="org.apache.activemq.command.ActiveMQQueue"> <constructor-arg index="0" value="testQueOne"></constructor-arg> </bean> <!-- 设置 消息目的地 start --> <bean id="jmsTemplateOne" class="org.springframework.jms.core.JmsTemplate"> <property name="connectionFactory" ref="connectionFactory"></property> <property name="defaultDestination" ref="destinationOne"></property> <property name="receiveTimeout" value="6000"></property> </bean> <!-- 设置 消息目的地 end --> <!-- 配置生产者 start --> <bean id="senderOne" class="com.dly.avtivemqtest.SenderOne"> <property name="jmsTemplateOne" ref="jmsTemplateOne"></property> </bean> <!-- 配置生产者 end --> <!-- 配置消费者 start --> <bean id="receiverOne" class="com.dly.avtivemqtest.ReceiverOne"> <!-- <property name="jmsTemplate" ref="jmsTemplate"></property> --> </bean> <!-- 配置消费者 end --> <!-- 消息监听器 --> <bean id="consumerMessageListenerOfOne" class="com.dly.avtivemqtest.ReceiverOne" /> <!-- 消息监听容器 消息接收监听器用于异步接收消息 --> <bean id="jmsContainerOne" class="org.springframework.jms.listener.DefaultMessageListenerContainer"> <property name="connectionFactory" ref="connectionFactory" /> <property name="destination" ref="destinationOne" /> <property name="messageListener" ref="consumerMessageListenerOfOne" /> </bean> </beans>SenderOne.java
public class SenderOne { private JmsTemplate jmsTemplateOne; public JmsTemplate getJmsTemplateOne() { return jmsTemplateOne; } public void setJmsTemplateOne(JmsTemplate jmsTemplateOne) { this.jmsTemplateOne = jmsTemplateOne; } //测试的 public void sendInfo(final String messageRecord,final String flag) { jmsTemplateOne.send(new MessageCreator() { public Message createMessage(Session session) throws JMSException { TextMessage message = session.createTextMessage(); return message; } }); } }
ReceiverOne.java
public class ReceiverOne implements MessageListener { //测试方法 public void onMessage(Message message, Session session) { //这里我们知道生产者发送的就是一个纯文本消息,所以这里可以直接进行强制转换 TextMessage textMsg = (TextMessage) message; try { String endStr = textMsg.getText(); Integer endInt = Integer.parseInt(endStr); System.out.println("消息:==="+endInt); } catch (Exception e) { e.printStackTrace(); System.out.println("异常信息是:===:" + e.getMessage()); } } }JMSTest.java
public class JMSTest { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("resources/applicationContext.xml"); SenderOne sender = (SenderOne) context.getBean("senderOne"); sender.sendInfo("10","2"); } }
运行JMSTest的结果:
看到控制台答应出来的 2 ,就说明 这个消息是发送成功 并且能,成功接收的,说明我们的topic消息的发送与接收是成功的。
相关文章推荐
- spring activeMQ 整合(一): 一个简单的demo,测试消息的发送与接收
- C#TCPClient应用-一个简单的消息发送和接收 (转)
- QUdpSocket简单使用Demo(局域网内发送给所有客户端消息与接收)
- C#TCPClient应用-一个简单的消息发送和接收
- C#TCPClient应用-一个简单的消息发送和接收
- [ActiveMQ]发送消息与接收消息测试Demo
- C#TCPClient应用-一个简单的消息发送和接收
- JMS P2P方式的消息发送/接收的一个简单例子
- 一个简单的socket客户端发送消息到服务器端程序
- C/C++做的一个简单界面程序扩充,向指定窗口发送消息
- openfire+smack 简单的 发送消息 demo及各种错误解决方案。
- openfire+smack 简单的 发送消息 demo及各种错误解决方案。
- Smack开发Demo---发送并接收消息
- ActiveMQ接收消息+发送消息的简单实例
- jms(activeMQ)本地测试需要重启tomcat才能接收到发送的消息
- RabbitMQ之最简单的消息的发送与接收
- VC++ 添加自定义消息响应函数以及发送消息SendMessage投递消息PostMessage的简单测试
- 一个非常简单的.net网络通信框架XNetFramework(符源码与测试Demo)
- Java Socket发送与接收HTTP消息简单实现
- Java Socket发送与接收HTTP消息简单实现