springmvc+activemq1
来源:互联网 发布:php培训机构哪家好 编辑:程序博客网 时间:2024/06/09 14:44
消息中间件(JMS)学习教程:http://blog.csdn.net/u014803081/article/details/73741052
centos下安装服务:http://blog.csdn.net/u014803081/article/details/73732375
activemq点对点模式:http://blog.csdn.net/u014803081/article/details/73741313
activemq发布者/订阅模式模式:http://blog.csdn.net/u014803081/article/details/73741413
activemq+springmvc1:http://blog.csdn.net/u014803081/article/details/73742071
activemq+springmvc2:http://blog.csdn.net/u014803081/article/details/73743300
springmvc-最基础配置:http://blog.csdn.net/u014803081/article/details/74740385
现根据上面的基础篇配好,然后做下面修改
这一篇是activemq+springmvc没有监听的模式,需要手动去消费消息
先附上工程结构
maven依赖
<dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-core</artifactId> <version>5.7.0</version></dependency><dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-pool</artifactId> <version>5.12.1</version></dependency>
新增spring-activemq.xml
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:amq="http://activemq.apache.org/schema/core" xmlns:jms="http://www.springframework.org/schema/jms" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd http://www.springframework.org/schema/jms http://www.springframework.org/schema/jms/spring-jms-4.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core-5.12.1.xsd"> <amq:connectionFactory id="amqConnectionFactory" brokerURL="tcp://localhost:61616" userName="admin" password="admin" /> <!-- 配置JMS连接工长 --> <bean id="connectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory"> <constructor-arg ref="amqConnectionFactory" /> <property name="sessionCacheSize" value="100" /> </bean> <!-- 定义消息队列(Queue) --> <bean id="destination" class="org.apache.activemq.command.ActiveMQQueue"> <!-- 设置消息队列的名字 --> <constructor-arg> <value>springmvc_queue</value> </constructor-arg> </bean> <!-- 配置JMS模板(Queue),Spring提供的JMS工具类,它发送、接收消息。 --> <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate"> <property name="connectionFactory" ref="connectionFactory" /> <property name="defaultDestination" ref="destination" /> <property name="receiveTimeout" value="10000" /> <!-- true是topic,false是queue,默认是false,此处显示写出false --> <property name="pubSubDomain" value="false" /> </bean></beans>
修改 index.html
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Test</title></head><body> <a href="/test/test">测试</a> <br> <a href="../pages/activemq.html">activemq</a></body></html>
activemq.html
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><h1>Welcome!!!</h1><h2><a href="../producer?message=ydh">去发消息</a></h2><h2><a href="../cunsumer">从队列中取一个消息</a></h2></body></html>
ActivemqController
import com.ydh.redsheep.activemq.service.ConsumerService;import com.ydh.redsheep.activemq.service.ProducerService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.RestController;import javax.jms.Destination;import javax.jms.JMSException;import javax.jms.TextMessage;/** * @description: * @author: yangdehong * @version: 2017/6/23. */@RestControllerpublic class ActivemqController { //队列名 @Autowired private Destination destination; //队列消息生产者 @Autowired private ProducerService producerService; //队列消息消费者 @Autowired private ConsumerService consumerService; @RequestMapping(value="/producer",method= RequestMethod.GET) public void producer(@RequestParam("message") String message) { producerService.sendMessage(destination, message); System.out.println(" send message =" + message); } @RequestMapping(value="/cunsumer",method=RequestMethod.GET) public void cunsumer() throws JMSException { TextMessage tm = consumerService.receive(destination); System.out.println(" revice message = " + tm.getText()); }}
ProducerService
import org.springframework.beans.factory.annotation.Autowired;import org.springframework.jms.core.JmsTemplate;import org.springframework.stereotype.Service;import javax.jms.Destination;import javax.jms.TextMessage;/** * @description: * @author: yangdehong * @version: 2017/6/23. */@Servicepublic class ProducerService { @Autowired private JmsTemplate jmsTemplate; /** * 向指定队列发送消息 */ public void sendMessage(Destination destination, final String msg) { System.out.println("向队列" + destination.toString() + "发送了消息------------" + msg); jmsTemplate.send(session -> { TextMessage tm = session.createTextMessage(msg); return tm; }); } /** * 向默认队列发送消息 */ public void sendMessage(final String msg) { String destination = jmsTemplate.getDefaultDestination().toString(); System.out.println("向队列" +destination+ "发送了消息------------" + msg); jmsTemplate.send(session -> { TextMessage tm = session.createTextMessage(msg); return tm; }); }}
ConsumerService
import org.springframework.beans.factory.annotation.Autowired;import org.springframework.jms.core.JmsTemplate;import org.springframework.stereotype.Service;import javax.jms.Destination;import javax.jms.JMSException;import javax.jms.TextMessage;/** * @description: * @author: yangdehong * @version: 2017/6/23. */@Servicepublic class ConsumerService { @Autowired private JmsTemplate jmsTemplate; /** * 接收消息 */ public TextMessage receive(Destination destination) { TextMessage tm = (TextMessage) jmsTemplate.receive(destination); try { System.out.println("从队列" + destination.toString() + "收到了消息:\t" + tm.getText()); } catch (JMSException e) { e.printStackTrace(); } return tm; }}
阅读全文
0 0
- springmvc+activemq1
- ActiveMQ1 简介
- ActiveMq1: Run Stand Alone.
- SpringMVC
- springmvc
- SpringMVC
- SpringMVC
- springMvc
- springMVC
- springmvc
- springMVC
- springMVC
- springmvc
- SpringMVC
- SpringMVC
- springMvc
- springmvc
- springmvc
- 关闭相关工具类
- 一个简单的远程登录脚本
- 数据去重的问题
- 算法学习(排序四)最大子数组问题
- 日期常用工具类
- springmvc+activemq1
- C#接口与继承的区别
- Launcher启动流程&&加载流程学习
- mp4v2再学习 -- H264视频编码成MP4文件
- Framework中的TelephonyRegistry
- python根据文章生成词云
- 14.最长公共前缀
- RN问题汇总之-0.39.0.React.Children bug修复
- MATLAB学习实例