JMS点对点(P2P)模式示例
来源:互联网 发布:福州大学软件学院 编辑:程序博客网 时间:2024/06/05 22:20
发送者:
package com.zzj.p2p;import javax.jms.Connection;import javax.jms.ConnectionFactory;import javax.jms.Message;import javax.jms.MessageProducer;import javax.jms.Queue;import javax.jms.Session;import org.apache.activemq.ActiveMQConnection;import org.apache.activemq.ActiveMQConnectionFactory;public class Producer {private static final String DEST = "com.zzj.dest.01";public static void main(String[] args) throws Exception {ConnectionFactory factory = new ActiveMQConnectionFactory(ActiveMQConnection.DEFAULT_USER, ActiveMQConnection.DEFAULT_PASSWORD, ActiveMQConnection.DEFAULT_BROKER_URL);Connection connection = factory.createConnection();connection.start();Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);Queue queue = session.createQueue(DEST);MessageProducer producer = session.createProducer(queue);Message message = session.createTextMessage("Hello world!");producer.send(message);System.out.println("发送成功!");// 关闭资源producer.close();session.close();connection.close();}}
同步接收者:
package com.zzj.p2p;import javax.jms.Connection;import javax.jms.ConnectionFactory;import javax.jms.MessageConsumer;import javax.jms.Queue;import javax.jms.Session;import javax.jms.TextMessage;import org.apache.activemq.ActiveMQConnection;import org.apache.activemq.ActiveMQConnectionFactory;/** * 同步消费 * @author lenovo * */public class SyncCustomer {private static final String DEST = "com.zzj.dest.01";public static void main(String[] args) throws Exception {ConnectionFactory factory = new ActiveMQConnectionFactory(ActiveMQConnection.DEFAULT_USER, ActiveMQConnection.DEFAULT_PASSWORD, ActiveMQConnection.DEFAULT_BROKER_URL);Connection connection = factory.createConnection();connection.start();Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);Queue queue = session.createQueue(DEST);MessageConsumer consumer = session.createConsumer(queue);TextMessage message = (TextMessage) consumer.receive(); // 阻塞方法,直到接收到消息System.out.println(message.getText());// 关闭资源consumer.close();session.close();connection.close();}}
异步接收者:
package com.zzj.p2p;import javax.jms.Connection;import javax.jms.ConnectionFactory;import javax.jms.JMSException;import javax.jms.Message;import javax.jms.MessageConsumer;import javax.jms.MessageListener;import javax.jms.Queue;import javax.jms.Session;import javax.jms.TextMessage;import org.apache.activemq.ActiveMQConnection;import org.apache.activemq.ActiveMQConnectionFactory;/** * 异步消费 * @author lenovo * */public class AsynCustomer implements MessageListener{private static final String DEST = "com.zzj.dest.01";private static Connection connection;private static Session session;private static MessageConsumer consumer;public static void main(String[] args) throws Exception {ConnectionFactory factory = new ActiveMQConnectionFactory(ActiveMQConnection.DEFAULT_USER, ActiveMQConnection.DEFAULT_PASSWORD, ActiveMQConnection.DEFAULT_BROKER_URL);connection = factory.createConnection();connection.start();session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);Queue queue = session.createQueue(DEST);consumer = session.createConsumer(queue);consumer.setMessageListener(new AsynCustomer());}@Overridepublic void onMessage(Message message) {TextMessage tm = (TextMessage) message;try {System.out.println(tm.getText());} catch (JMSException e) {e.printStackTrace();close(); // 关闭资源}}/** * 关闭资源 */private static void close(){try {consumer.close();} catch (JMSException e1) {e1.printStackTrace();}try {session.close();} catch (JMSException e) {e.printStackTrace();}try {connection.close();} catch (JMSException e) {e.printStackTrace();}}}
阅读全文
0 0
- JMS点对点(P2P)模式示例
- jms 点对点模式实例
- JMS(一)之点对点模式
- JMS入门(三)点对点消息传送模型示例
- weblogic JMS 初体验P2P模式
- JMS P2P
- JMS消息发送和接收实例 - 点对点模式
- JMS消息发送和接收实例 - 点对点模式
- jms消息机制,包括点对点、发布/订阅模式
- jms点对点和订阅发布模式的详解
- ActiveMQ 点对点(p2p)
- P2P点对点通讯
- JMS中点对点消息
- JMS 点对点消息
- JMS之点对点模型
- jms 的两种模式,p2p ,publish/substrib
- JMS的两种模式 P2P,PUB/SUB
- JMS持久订阅(DurableSubscribe)模式示例
- Android使用友盟集成QQ、微信、微博等第三方登录
- 自定义分页功能的实现代码
- 05.18 nginx之web服务
- 华为机试:合法IP、字串的连接最长路径查找
- Java内存管理
- JMS点对点(P2P)模式示例
- linux tar命令简介
- (66)ArrayList练习:自定义对象存入ArrayList,去除重复元素。迭代器指针移动解释
- Git使用详细教程
- <TensorFlow Machine Learning Cookbook>学习笔记(1.2)
- maven的resources介绍
- Mysql优化专题
- 【洛谷1640】[SCOI2010]连续攻击游戏
- JVM类加载原理学习笔记