activeMQ简单事例应用
来源:互联网 发布:java异常日志记录 编辑:程序博客网 时间:2024/05/14 22:48
1.先开启MQ服务
包结构:
2.创建发送者
import javax.jms.Connection;import javax.jms.ConnectionFactory;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;/** * 消息的生产者 * http://localhost:8161/admin/queues.jsp监控平台访问地址 * @author * @date */public class Product { private static final String USERNAME = ActiveMQConnection.DEFAULT_USER;// 默认连接用户名 private static final String PASSWORD = ActiveMQConnection.DEFAULT_PASSWORD;// 默认连接密码 private static final String BROKEURL = ActiveMQConnection.DEFAULT_BROKER_URL;// 默认连接地址 private static final int SENDNUM = 10;// 发送的消息数量 public static void main(String[] args) { ConnectionFactory connectionFactory;// 连接工厂 Connection connection = null;// 连接 Session session;// 会话 接受或者发送消息的线程 Destination destination;// 消息的目的地 MessageProducer messageProducer;// 消息生产者(接口 目标) // 实例化连接工厂 connectionFactory = new ActiveMQConnectionFactory(Product.USERNAME,Product.PASSWORD, Product.BROKEURL); try { connection = connectionFactory.createConnection();// 通过连接工厂获取连接 connection.start();// 启动连接 session = connection.createSession(true, Session.AUTO_ACKNOWLEDGE);// 创建session destination = session.createQueue("java0901");// 创建一个名称为java0901的消息队列(可以理解为qq群的群名) messageProducer = session.createProducer(destination);// 创建消息生产者 sendMessage(session, messageProducer);// 发送消息 session.commit();//最后要commint一下要不消息进不到消息管道中 } catch (Exception e) { e.printStackTrace(); } finally { if (connection != null) { try { connection.close(); } catch (JMSException e) { e.printStackTrace(); } } } }}
发送消息
/** * 发送消息 * @param session * @param messageProducer 消息生产者 * @throws Exception */ public static void sendMessage(Session session,MessageProducer messageProducer) throws Exception { for (int i = 0; i < Product.SENDNUM; i++) { // 创建一条文本消息 TextMessage message = session.createTextMessage("ActiveMQ 发送消息" + i); System.out.println("发送消息:Activemq 发送消息" + i);// 通过消息生产者发出消息 } }
接收消息
import javax.jms.Connection;import javax.jms.ConnectionFactory;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;/** * 消息的接收者、消费者 * http://localhost:8161/admin/queues.jsp * @author * @date * */public class Consumer { private static final String USERNAME = ActiveMQConnection.DEFAULT_USER;// 默认连接用户名 private static final String PASSWORD = ActiveMQConnection.DEFAULT_PASSWORD;// 默认连接密码 private static final String BROKEURL = ActiveMQConnection.DEFAULT_BROKER_URL;// 默认连接地址 public static void main(String[] args) { ConnectionFactory connectionFactory;// 连接工厂 Connection connection = null;// 连接 Session session;// 会话 接受或者发送消息的线程 Destination destination;// 消息的目的地 MessageConsumer messageConsumer;// 消息的消费者 // 实例化连接工厂 connectionFactory = new ActiveMQConnectionFactory(Consumer.USERNAME,Consumer.PASSWORD, Consumer.BROKEURL); try { connection = connectionFactory.createConnection();// 通过连接工厂获取连接 connection.start();// 启动连接 session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);// 创建session destination = session.createQueue("java0901");// 创建一个连接nihao1的消息队列 messageConsumer = session.createConsumer(destination);// 创建消息消费者//一直处于接收状态,有消息就接收 while (true) { TextMessage textMessage = (TextMessage) messageConsumer.receive(100000); if (textMessage != null) { System.out.println("收到的消息:" + textMessage.getText()); } else { break; } } } catch (JMSException e) { e.printStackTrace(); } }}
阅读全文
0 0
- activeMQ简单事例应用
- ActiveMQ简单应用
- java nio API 简单事例及应用
- ActiveMQ的最简单应用-队列消息
- ActiveMQ Hello Word 简单应用例子编写
- activeMQ实践(二)--简单应用实例
- URL 重写简单事例
- sql简单事例
- 访问数据库简单事例
- CoreData 简单使用事例
- CyclicBarrier的简单事例
- join()的简单事例
- xpath 简单事例
- spring的简单事例
- json解析简单事例
- Broadcast(简单事例)
- 注册表的应用与事例
- Ext的DWRProxy应用事例
- ros之真实驱动diy6自由度机械臂
- cookie&session(two)
- 运动目标检测算法相关概念
- 解最优化问题
- mybatis TypeHandler处理自定义枚举类型
- activeMQ简单事例应用
- [翻译]设备树的用法(Device Tree Usage)
- 设置cookie的方法
- Java 面试题笔记
- cookie和session
- java并发编程-基础原理
- 计算机网络原理(二)
- 使用nohub与screen后台执行任务
- 12期 10月期刊自荐