ActiveMQ_hello word
来源:互联网 发布:加内特的生涯数据 编辑:程序博客网 时间:2024/06/01 10:17
看看JMS的东西,IT界入门的东西好像都可以用一个hello word来开路,现在也抄个ActiveMQ的hello world代码,看看JMM是怎么使用的。
JMS使用分为2部分,一个生产者,负责上传数据到JMS消息中间件中;一个是消费者,负责从JMS中取数据。
无论是写生产者还是消费者代码都需要引入activemq-all-5.10-SNAPSHOT.jar这个jar包。
我的实验环境是ActiveMQ5.10。
一、生产者代码
package com.activemq.producter;import javax.jms.Connection;import javax.jms.ConnectionFactory;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;/** * ActiveMQ发送类 * <功能详细描述> * * @author Administrator * @version [版本号, 2014年7月27日] * @see [相关类/方法] * @since [产品/模块版本] */public class MessageProducter{ /* * @param args * @see [类、类#方法、类#成员] */ public static void main(String[] args) throws JMSException { // ConnectionFactory :连接工厂,JMS 用它创建连接 ConnectionFactory connectionFactory = new ActiveMQConnectionFactory( ActiveMQConnection.DEFAULT_USER, ActiveMQConnection.DEFAULT_PASSWORD, "tcp://192.168.197.130:61616"); //JMS 客户端到JMS Provider 的连接 Connection connection = connectionFactory.createConnection(); connection.start(); // Session: 一个发送或接收消息的线程 Session session = connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE); // Destination :消息的目的地;消息发送给谁. // 获取session注意参数值my-queue是Query的名字 Destination destination = session.createQueue("my-queue"); // MessageProducer:消息生产者 MessageProducer producer = session.createProducer(destination); //设置不持久化 producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT); //发送一条消息 sendMsg(session, producer); session.commit(); connection.close(); } /** * 在指定的会话上,通过指定的消息生产者发出一条消息 * * @param session 消息会话 * @param producer 消息生产者 */ public static void sendMsg(Session session, MessageProducer producer) throws JMSException { //创建一条文本消息 TextMessage message = session.createTextMessage("Hello ActiveMQ!"); //通过消息生产者发出消息 producer.send(message); System.out.println(""); } }
二、消费者代码
package com.activemq.reciever;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;public class JmsReceiver{ public static void main(String[] args) throws JMSException { // ConnectionFactory :连接工厂,JMS 用它创建连接 ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(ActiveMQConnection.DEFAULT_USER, ActiveMQConnection.DEFAULT_PASSWORD, "tcp://192.168.197.130:61616"); //JMS 客户端到JMS Provider 的连接 Connection connection = connectionFactory.createConnection(); connection.start(); // Session: 一个发送或接收消息的线程 Session session = connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE); // Destination :消息的目的地;消息发送给谁. // 获取session注意参数值xingbo.xu-queue是一个服务器的queue,须在在ActiveMq的console配置 Destination destination = session.createQueue("my-queue"); // 消费者,消息接收者 MessageConsumer consumer = session.createConsumer(destination); while (true) { TextMessage message = (TextMessage)consumer.receive(1000); if (null != message) System.out.println("收到消息:" + message.getText()); else break; } session.close(); connection.close(); } }
先执行生产者代码,往JMS消息中间件中上传数据,再执行消费者代码,从JMS消息中间件中取走数据。
0 0
- ActiveMQ_hello word
- word
- word
- word
- word
- WORD
- word
- word
- Word
- word
- .word
- word
- Word
- Word
- word
- Word
- word
- word
- 集合框架(泛型限定2)
- OJ最长公共字串
- ThinkPHP实现文件伪静态
- ZOJ-1204
- [poj 2976]Dropping tests 01分数规划
- ActiveMQ_hello word
- 集合-Map概述-Map子类对象特点-Map共性方法
- Jquery
- OC冒泡排序
- 【大话QT之十六】使用ctkPluginFramework插件系统构建项目实战
- 关于enum { IDD = IDD_ADD };的使用
- POJ3071Football——概率动态规划+异或^的妙用
- Twisted 学习1
- 机器学习第一篇(stanford大学公开课学习笔记) —机器学习的概念和梯度下降