ActiveMQ开发实例
来源:互联网 发布:为什么淘宝提问不显示 编辑:程序博客网 时间:2024/06/05 06:45
启动ActiveMQ,直接进入安装目录执行\bin\activemq
如下,启动成功
访问http://localhost:8161/admin/queues.jsp
消息生产者:
package activemq.yang;//ConnectionFactory 是连接工厂,负责创建Connection。 //Connection 负责创建 Session。//Session 创建 MessageProducer(用来发消息) 和 MessageConsumer(用来接收消息)。//Destination 是消息的目的地。import javax.jms.Connection; import javax.jms.DeliveryMode; import javax.jms.Destination; import javax.jms.JMSException; import javax.jms.MessageProducer; import javax.jms.Session; import javax.jms.TextMessage; import org.apache.activemq.ActiveMQConnection; import org.apache.activemq.ActiveMQConnectionFactory; public class Producer2 {/** * @param args */ private String user = ActiveMQConnection.DEFAULT_USER; private String password = ActiveMQConnection.DEFAULT_PASSWORD; private String url = "tcp://localhost:61616"; private String subject = "QDEFAULT"; private Destination destination = null; private Connection connection = null; private Session session = null; private MessageProducer producer = null; private static final int SEND_NUMBER = 5; // 初始化 private void initialize() throws JMSException, Exception { ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(user, password, url); connection = connectionFactory.createConnection(); connection.start(); session = connection.createSession(true, Session.AUTO_ACKNOWLEDGE); destination = session.createQueue(subject); producer = session.createProducer(destination); producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT); } // 发送消息 public void produceMessage() throws JMSException, Exception { initialize(); String text = "Hello World"; for (int i = 0; i < SEND_NUMBER; i++){ TextMessage msg = session.createTextMessage(text + i); System.out.println("Producer:->Sending message: " + text + i); this.producer.send(msg); } session.commit(); System.out.println("Producer:->Message sent complete!"); } // 关闭连接 public void close() throws JMSException { if (producer != null) producer.close(); if (session != null) session.close(); if (connection != null) connection.close(); System.out.println("Producer:->Closing connection"); } public static void main(String[] args) {// TODO Auto-generated method stubProducer2 producer = new Producer2();try {producer.produceMessage();producer.close();} catch (JMSException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
消息消费者:
package activemq.yang;import javax.jms.Connection;import javax.jms.Destination;import javax.jms.JMSException;import javax.jms.MessageConsumer;import javax.jms.Session;import javax.jms.TextMessage;import org.apache.activemq.ActiveMQConnection;import org.apache.activemq.ActiveMQConnectionFactory;public class Consumer2 {/** * @param args */private String user = ActiveMQConnection.DEFAULT_USER; private String password = ActiveMQConnection.DEFAULT_PASSWORD; private String url = "tcp://localhost:61616"; private String subject = "QDEFAULT"; private Destination destination = null; private Connection connection = null; private Session session = null; private MessageConsumer consumer = null; // 初始化 private void initialize() throws JMSException, Exception { ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(user, password, url); connection = connectionFactory.createConnection(); connection.start(); session = connection.createSession(Boolean.FALSE.booleanValue(), Session.AUTO_ACKNOWLEDGE); destination = session.createQueue(subject); consumer = session.createConsumer(destination); } // 消费消息 public void consumeMessage() throws JMSException, Exception { initialize(); System.out.println("Consumer:->Begin Receive..."); while (true) {TextMessage message = (TextMessage) consumer.receive(1000);if (null != message) {System.out.println("Consumer:->Receiving message: " + message.getText());} else {System.out.println("Consumer:->Receive completed"); break;}} } // 关闭连接 public void close() throws JMSException { if (consumer != null) consumer.close(); if (session != null) session.close(); if (connection != null) connection.close(); System.out.println("Consumer:->Closing connection"); }public static void main(String[] args) {// TODO Auto-generated method stubConsumer2 consumer = new Consumer2();try {consumer.consumeMessage();consumer.close();} catch (JMSException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
执行代码,http://localhost:8161/admin/queues.jsp显示如下:
- ActiveMQ开发实例
- ActiveMQ开发实例2
- ActiveMQ开发实例3
- ActiveMQ开发实例4 查看队列消息
- activeMq Windows环境部署及实例开发
- ActiveMQ 实例
- ActiveMQ实例
- activeMq 实例
- ActiveMQ实例
- ActiveMQ实例
- Activemq实例
- ActiveMQ实例
- ActiveMQ入门实例 - ActiveMQ教程
- ActiveMQ入门实例 - ActiveMQ教程
- ActiveMQ开发
- ActiveMQ入门实例
- ActiveMQ简述及实例
- ActiveMQ简述及实例
- IO流第一课
- 求大数的约数个数问题
- 【Java工程师之路】[2-4.1]JDBC的工作原理
- 数字格式化
- Linux进程间通信--使用命名管道
- ActiveMQ开发实例
- Nexus 安装与使用
- Android利用ViewPager实现滑动广告板
- linux 开发 OpenGL
- PHP变量作用域
- Linux下安装软件的一般步骤
- PHP的cURL 快速入门
- 我对计算机图书的一些书评(当然是我曾经阅读过的)
- Linux下常用文本处理命令