From 9d919e03541dcb74619ac6f423d449dad464502f Mon Sep 17 00:00:00 2001 From: lixiangrong Date: Mon, 18 Jul 2016 16:14:31 +0800 Subject: [PATCH] ActiveMQ --- .../osc/git/eh3/activemq/JMSConsumer.java | 60 +++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 src/main/java/osc/git/eh3/activemq/JMSConsumer.java diff --git a/src/main/java/osc/git/eh3/activemq/JMSConsumer.java b/src/main/java/osc/git/eh3/activemq/JMSConsumer.java new file mode 100644 index 0000000..4cbd73a --- /dev/null +++ b/src/main/java/osc/git/eh3/activemq/JMSConsumer.java @@ -0,0 +1,60 @@ +package osc.git.eh3.activemq; + +import org.apache.activemq.ActiveMQConnection; +import org.apache.activemq.ActiveMQConnectionFactory; + +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; + +/** + * 消息的消费者(接受者) + * Created by lixiangrong on 2016-07-11 + */ +public class JMSConsumer { + + 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(JMSConsumer.USERNAME, JMSConsumer.PASSWORD, JMSConsumer.BROKEURL); + + try { + //通过连接工厂获取连接 + connection = connectionFactory.createConnection(); + //启动连接 + connection.start(); + //创建session + session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); + //创建一个连接HelloWorld的消息队列 + destination = session.createQueue("HelloWorld"); + //创建消息消费者 + 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(); + } + } +} \ No newline at end of file