ActiveMQ简单使用介绍(一):未整合Spring情况下的介绍使用
来源:互联网 发布:tomcat 域名绑定 端口 编辑:程序博客网 时间:2024/06/04 20:12
ActiveMQ简单使用(一):整合Spring
在进行数据查询的时候,都会遇到一个问题:当查询的数据量过大,相同数据查询频次过多的时候,都会选择将其加入到缓存或者索引中,提高查询效率.
但是作为实际生产环境中,都会有一个后台的管理,进行相关数据的CRUD操作.如何保证后台CRUD操作能即时的将数据添加到相应的缓存或者索引库中呢,使用ActiveMQ就是一个比较合适的一个选择.
在进行ActiveMQ的相应使用的时候,我们需要先明白它的消息形式,分为:消息传递的类型;消息正文格式.下图就是其分类形式:
图上的各个参数的解释应该还是比较容易理解的,这个是从我自己写的xmind文档上截图的.
在使用的时候,针对不同的需求.可以进行相关的选择.对于五中消息正文格式,还是TextMessage这种消息正文格式使用的居多,各位按需选择即可.
在了解了其消息形式后,我们就进行下一步的使用.关于安装,在这里就不怎么介绍了,各位自行百度.
对了,在这里有个要说下,ActiveMQ是自带一个后台管理的,url:http://IP:8161/admin,这里的IP是安装了ActiveMQ的那台服务器的IP地址,port默认的是8161.各位可以自己进入进行相关的查看了解.
接下来,我们进入正题,ActiveMQ在JAVA中的使用:
我们在进行ActiveMQ的使用的时候,会有两个角色需要明白:Producer和Customer.
这个根据字面的意思也很好理解,一个是生产者,创建相应的ActiveMQ,以及需要传递的相关数据;一个是消费者,接收Producer传递的相关数据并进行相关的处理.
在进行Producer和Customer的相关书写的时候,可能初步看起来有点繁琐,代码量有点多,无从下手.但是其逻辑很清晰,按照其逻辑一步一步下去就行,而且都是固定代码.需要修改的地方其实是很少的.主要逻辑如下:
Producer:
1.创建ConnectionFactory对象,指明ip以及端口号,采用的是tcp协议,port为61616
2.使用ConnectionFactory对象创建Connection对象
3.开启连接,使用Connection对象的start方法
4.使用Connection对象创建Session对象
5.使用Session对象创建Destination对象(Topic或者Queue),需要指定一个列队的名称
6.使用Session对象创建Producer对象
7.使用Session对象创建TextMessage对象,传递要你发送的内容
8.使用Producer对象发送消息
9.关闭资源
代码如下:
public void testQueueProduct() throws Exception{//1.创建ConnectionFactory对象,指定服务器的IP以及端口号,这个走的是TCP协议,因此是TCP开头ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://IP:61616");//2.使用ConnectionFactory对象创建一个Connection对象Connection connection = connectionFactory.createConnection();//3.开启连接,使用start方法connection.start();//4.使用Connection对象创建一个Session对象//第一个参数:是否开启事务.true,开启事务,第二个参数忽略//第二个参数:当第一个参数为false的时候,第二个参数才有意义.消息的应答模式:1.自动应答,2.手动应答.一般是自动应答Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);//5.使用Session创建Destination对象.这里明明要创建Destination对象,为什么创建的是Queue呢:因为Destination是Topic和Queue的父类!!!//参数:队列的名称Queue queue = session.createQueue("test_queue");//6.使用Session创建一个Producer对象MessageProducer messageProducer = session.createProducer(queue);//7.使用Session对象创建一个TextMessage对象TextMessage textMessage = session.createTextMessage("hello activeMQ.this is my first test");//8.使用MessageProducer发送消息messageProducer.send(textMessage);//9.关闭资源messageProducer.close();session.close();connection.close();}
Customer:
1.创建ConnectionFactory对象,指明ip以及端口号,采用的是tcp协议,port为61616
2.使用ConnectionFactory对象创建Connection对象
3.开启连接,使用Connection对象的start方法
4.使用Connection对象创建Session对象
5.使用Session对象创建Destination对象(Topic或者Queue),需要指定一个列队的名称
6.使用Session对象创建Consumer对象
7.接收消息,使用Consumer对象,setMessageListener方法,这里有个匿名内部类
8.打印消息
9.关闭资源
代码如下:
public void testQueueConsumer() throws Exception{//1.创建ConnectionFactory对象ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://IP:61616");//2.使用ConnectionFactory对象创建Connection对象Connection connection = connectionFactory.createConnection();//3.开启连接connection.start();//4.使用Connection对象创建Session对象Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);//5.使用Session对象创建一个Destination对象,此处创建的是Queue,列队名称要保证一致!!Queue queue = session.createQueue("test_queue");//6.使用Session对象创建Consumer对象MessageConsumer messageConsumer = session.createConsumer(queue);//7.接收消息,使用Consumer对象进行创建,使用setMessageListener方法,这里有个匿名内部类messageConsumer.setMessageListener(new MessageListener() {@Overridepublic void onMessage(Message message) {try {TextMessage textMessage = (TextMessage) message;//取消息的内容String text = textMessage.getText();//8.打印消息System.out.println(text);} catch (Exception e) {e.printStackTrace();}}});System.in.read();//9.关闭资源messageConsumer.close();session.close();connection.close();}大家应该可以看出,虽然原生态的代码看起来有点多,但是很多都是固定的,只需要修改部分参数就能使用,按照逻辑一步步往下,其实还是挺简单的.各个注意的事项在代码的注释上都有详细的解释,各位多看看注释就应该没什么问题.
关于原生态的ActiveMQ就讲到这里了.
ActiveMQ简单使用(一):整合Spring
- ActiveMQ简单使用介绍(一):未整合Spring情况下的介绍使用
- ActiveMQ简单使用介绍
- JMS实现-ActiveMQ,介绍,安装,使用,注意点,spring整合
- spring整合tiles3简单介绍和使用
- spring和mybatis的整合使用,未使用整合包的情况下maven用5可实现
- 本篇主要讲解在未使用其他框架(Spring)整合情况下,独立基于ActiveMQ,使用JMS规范进行消息通信。
- ActiveMQ的入门案例以及整合Spring的简单使用
- ActiveMQ简单使用(二):整合Spring
- JMS之activeMQ使用介绍(一)
- ActiveMQ与Spring的整合使用
- Activemq使用介绍
- activemq使用系列: spring与activemq的整合
- ActiveMQ介绍及Spring整合实例
- 一、Fresco的使用简单介绍
- Okhttp的简单介绍和使用(一)
- ActiveMQ 与spring整合使用
- Linux服务器使用情况简单介绍
- #Spring#spring小程序,简单介绍spring的使用
- visual studio (vs)常用快捷键
- 欢迎使用CSDN-markdown编辑器
- 精益技术简历之道——改善技术简历的47条原则
- PID调节之积分(I)调节
- MIPI协议概述:DCS、DSI、CSI、D-PHY的简要介绍
- ActiveMQ简单使用介绍(一):未整合Spring情况下的介绍使用
- ubuntu14.04 安装caffe
- sbc(一)SpringBoot+SpringCloud初探
- APT in Android
- 深度学习三:tensorflow,训练一个神经元
- 几个UI小技巧,提高效率
- 深入理解操作系统原理之进程管理(一)
- zImage构成图解
- MySQL数据库优化的八种方式