博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ActiveMQ_hello word
阅读量:2432 次
发布时间:2019-05-10

本文共 3842 字,大约阅读时间需要 12 分钟。

看看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消息中间件中取走数据。

转载地址:http://izvmb.baihongyu.com/

你可能感兴趣的文章
回顾我的2011
查看>>
解析UTF8字符串,并截取每个字符到vector(C++代码)
查看>>
Outbrain
查看>>
视频站点下载地址汇总
查看>>
智能Web算法第二版前言和译者序
查看>>
第一本docker书学习笔记1-3章
查看>>
《Spark机器学习》笔记——Spark分类模型(线性回归、朴素贝叶斯、决策树、支持向量机)
查看>>
《Spark机器学习》笔记——Spark Streaming 在实时机器学习中的应用
查看>>
RPC实践(二)JsonRPC实践
查看>>
RPC实践(三)Hessian实践
查看>>
Zookeeper实践(四)zookeeper的WEB客户端zkui使用
查看>>
RPC实践(四)Dubbo实践
查看>>
java对象实例化的几种方法
查看>>
RPC实践(五)Dubbo实践-服务集群
查看>>
java单元测试Junit实践(一) Junit基础
查看>>
Webservice实践(一) Webservice基础和SOAP简单介绍
查看>>
Webservice实践(二)Webservice 客户端开发
查看>>
Webservice实践(三)基于JDK的jax ws进行服务端开发
查看>>
Webservice实践(四)基于AXIS2的服务端开发
查看>>
Webservice实践(五)基于CXF的服务端开发
查看>>