基于Java ActiveMQ的实例讲解

作者:鼠标滚轮 时间:2023-08-24 08:39:38 

所需引入Jar包:

jms-1.1.jar

activemq-all-5.15.0.jar

生产者


package com.mousewheel.demo;

import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.MessageListener;
import javax.jms.ObjectMessage;
import javax.jms.Session;

import org.apache.activemq.ActiveMQConnectionFactory;

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

ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("admin", "admin", "tcp://192.168.31.33:61616");
 Connection connection = null;
 try {
  connection = connectionFactory.createConnection();
  connection.start();
  Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
  Destination destination = session.createQueue("test-queue");
  MessageConsumer consumer = session.createConsumer(destination);
  consumer.setMessageListener(new MessageListener() {
   @Override
   public void onMessage(Message message) {
    try {
     MqBean bean = (MqBean) ((ObjectMessage) message).getObject();
     System.out.println(bean);
     if (null != message) {
      System.out.println("收到消息" + bean.getName());
     }
    } catch (Exception e) {
     // TODO: handle exception
    }

}
  });
  System.out.println("Begin listen");
 } catch (Exception e) {
  // TODO: handle exception
 }

}
}

消费者


package com.mousewheel.demo;

import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.MessageListener;
import javax.jms.ObjectMessage;
import javax.jms.Session;

import org.apache.activemq.ActiveMQConnectionFactory;

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

ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("admin", "admin", "tcp://192.168.31.33:61616");
 Connection connection = null;
 try {
  connection = connectionFactory.createConnection();
  connection.start();
  Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
  Destination destination = session.createQueue("test-queue");
  MessageConsumer consumer = session.createConsumer(destination);
  consumer.setMessageListener(new MessageListener() {
   @Override
   public void onMessage(Message message) {
    try {
     MqBean bean = (MqBean) ((ObjectMessage) message).getObject();
     System.out.println(bean);
     if (null != message) {
      System.out.println("收到消息" + bean.getName());
     }
    } catch (Exception e) {
     // TODO: handle exception
    }

}
  });
  System.out.println("Begin listen");
 } catch (Exception e) {
  // TODO: handle exception
 }

}
}

来源:http://www.cnblogs.com/mousewheel/archive/2017/09/14/7523555.html

标签:activemq,java
0
投稿

猜你喜欢

  • Freemarker中的3种循环模式

    2021-11-05 09:47:53
  • Java编程GUI中的事件绑定代码示例

    2023-02-04 17:36:01
  • Filter、Servlet、Listener的学习_动力节点Java学院整理

    2021-08-12 00:05:49
  • android自定义view用path画长方形

    2022-07-20 21:03:00
  • SpringMVC中使用@PathVariable绑定路由中的数组的方法

    2023-11-27 14:21:01
  • Mybatis plus通用字段自动填充的示例

    2022-10-27 02:05:27
  • MyBatis-Plus实现逻辑删除的示例代码

    2022-05-14 06:12:35
  • Spring AOP实现打印HTTP接口出入参日志

    2021-10-09 13:38:37
  • Java+swing实现抖音上的表白程序详解

    2023-11-15 21:34:08
  • Java分页查询--分页显示(实例讲解)

    2023-02-05 11:07:15
  • Android图表库HelloChart绘制多折线图

    2021-06-18 05:34:45
  • 一文详解Java线程的6种状态与生命周期

    2022-02-08 08:44:30
  • hadoop分布式环境搭建过程

    2023-09-23 15:18:50
  • Component和Configuration注解区别实例详解

    2022-04-17 01:12:24
  • Java中的接口多继承机制

    2023-08-28 06:13:48
  • Java开发者就业需要掌握的9大专业技能

    2021-11-13 12:01:54
  • Android实现倒计时的方案梳理

    2022-04-29 00:48:31
  • Java Stream流零基础教程

    2023-08-15 19:33:20
  • Android编程实现调用相册、相机及拍照后直接裁剪的方法

    2023-12-19 10:27:08
  • Android中Notification用法实例总结

    2023-03-16 23:05:38
  • asp之家 软件编程 m.aspxhome.com