ActiveMQ技术笔记(一)

本文介绍了ActiveMQ这款由Apache出品的消息中间件的使用方法,包括如何通过Web页面进行访问及查看消息数量,同时提供了发送端和消费端的示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息中间件。

ActiveMQ 的安装在此不做介绍,大家可以自行百度。ActiveMQ安装后,启动可以通过Web页面访问,URL:http://127.0.0.1:8161/,如图所示:

点击“Queues | Topics ”可以查询消息数量。

ActiveMQ默认使用的TCP连接端口是61616.

ActiveMQ的编码模板:
发送端:

public class QueueSender {  

       public static void main(String[]args)throws JMSException {

       //通过username,password,url创建连接工厂接口

       ConnectionFactory factory = new ActiveMQConnectionFactory(

              ActiveMQConnection.DEFAULT_USER,

              ActiveMQConnection.DEFAULT_PASSWORD,"tcp://localhost:61616");

       //通过连接工厂创建一个新的连接接口

       Connection connection = factory.createConnection();

       //通过连接接口创建一个会话接口

       Session session = connection.createSession(false,

              Session.AUTO_ACKNOWLEDGE);

       //会话接口创建有关主题的目标接口

       Destination destination = session.createQueue("test_queue");

       //会话接口再根据目标接口来创建一个消息生产者接口

       MessageProducer producer =session.createProducer(destination);

       //调用会话生成一个文本消息

       Message message = session.createTextMessage("Hello World!");

       //通过生产者接口Send将消息发布到ActiveMQ服务器

       producer.send(message);

       //关闭会话

       session.close();

       //关闭连接

       connection.close();

    }

 

 

消费端:

public classQueueReceiver {  

public static void main(String[] args)throws JMSException {

       // 通过username,password,url创建连接工厂接口

       ConnectionFactory factory = new ActiveMQConnectionFactory(

              ActiveMQConnection.DEFAULT_USER,

              ActiveMQConnection.DEFAULT_PASSWORD,"tcp://localhost:61616");

       // 通过连接工厂创建一个新的连接接口

       Connection connection = factory.createConnection();

       connection.start();

       // 通过连接接口创建一个会话接口

       Session session = connection.createSession(false,

              Session.AUTO_ACKNOWLEDGE);

       // 会话接口创建有关主题的目标接口

       Destination destination = session.createQueue("test_queue");

       // 会话接口再根据目标接口来创建一个消息消费者接口

       MessageConsumer consumer =session.createConsumer(destination);

       // 消息消费者接收消息

       TextMessage message = (TextMessage) consumer.receive();

       if (null != message) {

           System.out.println("收到消息:" + message.getText());

       }

       // 关闭会话

       session.close();

       // 关闭连接

       connection.close();

    }         

        }  


topic与queue的区别。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值