ActiveMQ技术笔记(一)

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的区别。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值