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 }
学习总结持续更新中......
脱什么单脱贫才是王道

浙公网安备 33010602011771号