JMS&MQ系列之简单示例
2012-09-11 15:33
344 查看
1. 发送Message
2. 同步接收消息
3. 异步接收消息
/** * * @author geloin * @date 2012-9-10 下午6:22:43 */ package com.geloin.activemq.test1; import javax.jms.Connection; import javax.jms.ConnectionFactory; import javax.jms.Destination; import javax.jms.Message; import javax.jms.MessageProducer; import javax.jms.Session; import javax.naming.Context; import javax.naming.InitialContext; /** * * @author geloin * @date 2012-9-10 下午6:22:43 */ public class MyMessageProducer { public static void main(String[] args) throws Exception { ConnectionFactory factory = null; Connection conn = null; Session session = null; Destination dest = null; MessageProducer producer = null; Message message = null; boolean useTransaction = false; try { Context ctx = new InitialContext(); factory = (ConnectionFactory)ctx.lookup("ConnectionFactoryName"); conn = factory.createConnection(); conn.start(); session = conn.createSession(useTransaction, Session.AUTO_ACKNOWLEDGE); dest = session.createQueue("TEST.QUEUE"); producer = session.createProducer(dest); message = session.createTextMessage("This is a test"); producer.send(message); } catch (Exception e) { e.printStackTrace(); } finally { producer.close(); session.close(); conn.close(); } } }
2. 同步接收消息
/** * * @author geloin * @date 2012-9-11 上午9:45:53 */ package com.geloin.activemq.test1; import javax.jms.Connection; import javax.jms.ConnectionFactory; import javax.jms.Destination; import javax.jms.Message; import javax.jms.MessageConsumer; import javax.jms.Session; import javax.jms.TextMessage; import javax.naming.Context; import javax.naming.InitialContext; /** * * @author geloin * @date 2012-9-11 上午9:45:53 */ public class MySyncMessageConsumer { /** * * @author geloin * @date 2012-9-11 上午9:45:54 * @param args */ public static void main(String[] args) throws Exception { ConnectionFactory factory = null; Connection conn = null; Session session = null; Destination dest = null; MessageConsumer consumer = null; Message message = null; boolean useTransaction = false; try { Context ctx = new InitialContext(); factory = (ConnectionFactory) ctx.lookup("ConnectionFactoryName"); conn = factory.createConnection(); conn.start(); session = conn.createSession(useTransaction, Session.AUTO_ACKNOWLEDGE); dest = session.createQueue("TEST.QUEUE"); consumer = session.createConsumer(dest); message = (TextMessage)consumer.receive(1000); System.out.println("Received message: " + message); } catch (Exception e) { e.printStackTrace(); } finally { consumer.close(); session.close(); conn.close(); } } }
3. 异步接收消息
/** * * @author geloin * @date 2012-9-11 下午1:12:40 */ package com.geloin.activemq.test1; import javax.jms.Connection; import javax.jms.ConnectionFactory; import javax.jms.Destination; import javax.jms.Message; import javax.jms.MessageConsumer; import javax.jms.MessageListener; import javax.jms.Session; import javax.jms.TextMessage; import javax.naming.Context; import javax.naming.InitialContext; /** * * @author geloin * @date 2012-9-11 下午1:12:40 */ public class MyAsyncMessageConsumer implements MessageListener { /* * (non-Javadoc) * * @see javax.jms.MessageListener#onMessage(javax.jms.Message) */ @Override public void onMessage(Message message) { if (message instanceof TextMessage) { System.out.println("Received message:" + message); } } /** * * * @author geloin * @date 2012-9-11 下午1:13:33 * @param args * @throws Exception */ public static void main(String[] args) throws Exception { ConnectionFactory factory = null; Connection conn = null; Session session = null; Destination dest = null; MessageConsumer consumer = null; boolean useTransaction = false; try { Context ctx = new InitialContext(); factory = (ConnectionFactory) ctx.lookup("ConnectionFactoryName"); conn = factory.createConnection(); conn.start(); session = conn.createSession(useTransaction, Session.AUTO_ACKNOWLEDGE); dest = session.createQueue("TEST.QUEUE"); consumer = session.createConsumer(dest); consumer.setMessageListener(new MyAsyncMessageConsumer()); } catch (Exception e) { e.printStackTrace(); } finally { consumer.close(); session.close(); conn.close(); } } }
相关文章推荐
- JMS&MQ系列之简单JMS应用程序编写步骤
- JMS&MQ系列之JMS概述
- PyGobject(九十三)Cairo系列——简介&简单示例
- PyGobject(八十八)Pango系列——简介&简单示例
- JMS&MQ系列之普通Java程序中加载配置
- JMS&MQ系列之消息存储方式
- JMS&MQ系列之JMS的请求和回应
- Redis 安装与简单示例 <第一篇>
- 【java开发系列】—— spring简单入门示例
- JMS ActiveMQ简单介绍+简单实例
- Spring+JMS+使用JMS+ActiveMQ中间件+实现简单聊天功能的小例子
- IOS开发中的多线程&&多任务的管理设计简单示例
- javascript入门系列演示·函数的定义以及简单参数使用,调用函数 .txt
- JNDI简介&简单示例
- 【java开发系列】—— struts2简单入门示例
- Ruby&nbsp;随记&nbsp;-简单语法示例
- 【java开发系列】—— struts2简单入门示例
- 【数据结构&&算法系列】归并排序简单介绍及python代码
- CxImage的简单使用(编译-->项目设置-->代码示例(PNG透明贴图))
- [hadoop系列]Pig的安装和简单示例