ActiveMQ入门学习总结

一,ActiveMQ是什么?

  ActiveMQ是JMS(Java Message Servie)规范的一种消息中间件的落地实现。

二,ActiveMQ能干什么?

  主要作用就三个:业务解耦,消息异步,消峰。(在考虐业务解耦的时候尽量使用消息中间件,业务场景使用到消息的时候尽量做到异步)

三,ActiveMQ怎么玩?

  1,去ActiveMQ官网下载ActiveMQhttp://activemq.apache.org/

  2,安装并启动ActiveMQ服务,ActiveMQ后台默认端口是61616,前台访问默认端口是8161,默认用户密码admin/admin。(启动ActiveMQ的时候遇到一个大坑,如果本

   机计算机名称带有特殊符号的时候,会导致ActiveMQ启动失败,修改本机计算机名称并重启电脑,在启动ActiveMQ)

  3,拷贝ActiveMQ相关jar包,如果通过MAVEN构建,需要拷贝ActiveMQ的MAVEN坐标

  4,编写第一个ActiveMQ的第一个helloword程序(保证ActiveMQ后台服务正常启动)。

   ActiveMQ生产者编码:

 1 package com.wzw.activemqstudy.mq;
 2 
 3 import org.apache.activemq.ActiveMQXAConnectionFactory;
 4 
 5 import javax.jms.*;
 6 
 7 /**
 8  * ActiveMQ生产者编码
 9  */
10 public class ActiveMQProducerTest {
11     //ActiveMQ访问路径
12     public static final String URL="tcp://192.168.0.113:61616";
13     //队列的名称
14     public static final String QUEUE_NAME="hello";
15     public static void main(String[] args) throws JMSException {
16         //创建ActiveMQ的工厂对象
17         ActiveMQXAConnectionFactory factory = new ActiveMQXAConnectionFactory(URL);
18         //通过工厂对象创建连接对象
19         Connection connection = factory.createConnection();
20         //开启连接
21         connection.start();
22         //通过连接对象创建session对象(两个参数,第一个参数代表是否开启事务,第二个参数代表签收方式)
23         Session session = connection.createSession(false,Session.AUTO_ACKNOWLEDGE);
24         //创建一个队列
25         Queue queue = session.createQueue(QUEUE_NAME);
26         //创建一个生产者对象
27         MessageProducer producer = session.createProducer(queue);
28         //创建一个消息
29         TextMessage textMessage = session.createTextMessage("helloword");
30         //生产者发送消息
31         producer.send(textMessage);
32         System.out.println("消息发送成功");
33         //关闭资源
34         producer.close();
35         session.close();
36         connection.close();
37     }
38 }

ActiveMQ消费者编码:

 1 package com.wzw.activemqstudy.mq;
 2 
 3 import org.apache.activemq.ActiveMQXAConnectionFactory;
 4 
 5 import javax.jms.*;
 6 
 7 /**
 8  * ActiveMQ消费者编码
 9  */
10 public class ActiveMQConsumerTest {
11     //ActiveMQ访问路径
12     public static final String URL="tcp://192.168.0.113:61616";
13     //队列的名称
14     public static final String QUEUE_NAME="hello";
15     public static void main(String[] args) throws JMSException {
16         //创建ActiveMQ的工厂对象
17         ActiveMQXAConnectionFactory factory = new ActiveMQXAConnectionFactory(URL);
18         //通过工厂对象创建连接对象
19         Connection connection = factory.createConnection();
20         //开启连接
21         connection.start();
22         //通过连接对象创建session对象(两个参数,第一个参数代表是否开启事务,第二个参数代表签收机制)
23         Session session = connection.createSession(false,Session.AUTO_ACKNOWLEDGE);
24         //创建一个队列
25         Queue queue = session.createQueue(QUEUE_NAME);
26         //创建一个消费者
27         MessageConsumer consumer = session.createConsumer(queue);
28         //消费者收到消息
29         TextMessage receive = (TextMessage)consumer.receive();
30         //获得消息内容
31         String text = receive.getText();
32         System.out.println(text);
33         //关闭资源
34         consumer.close();
35         session.close();
36         connection.close();
37     }
38 }

 

 学习总结持续更新中......

 

 

posted @ 2020-03-07 16:18  我非池中鱼  阅读(193)  评论(0)    收藏  举报