JMS入门(三)--Queue的使用
来源:互联网 发布:我的购物车淘宝网登录 编辑:程序博客网 时间:2024/05/16 14:22
.前一讲简单的介绍了一下JMS的基本概念, 这一讲结合一个例子让大家深入理解前一讲的基本概念. 首先需要做的是选择一个JMS提供者, 如果在JavaEE环境中可以不用考虑这些. 我们选择ActiveMQ, 官方地址: http://activemq.apache.org/. 网上有很多介绍ActiveMQ的文档, 所以在这里就不介绍了.
Queue实现的是点到点模型,一个点对点 (PTP) 的产品或者应用是基于消息队列、发送者和接收者的概念来构建的。每个消息被定为到一个特定的队列,接收者从队列中提取发送给它的消息,队列将保留所有的消息直到消息被取走或者过期。
1)每个消息只有唯一一个接收者(消费者)
2)消息的发送者和接收者没有时间上的依赖,接收者可在消息过期前的任意时间内去获取消息,而不一定得发送者是在线的
3)接收者需要确认成功的处理了消息
2.按照上一讲的这个简图:
ConnectionFactory---->Connection--->Session--->Message
Destination + Session------------------------------------>Producer
Destination + Session------------------------------------>MessageConsumer
A)首先需要得到ConnectionFactoy和Destination,这里创建一个一对一的Queue作为Destination。
ConnectionFactory factory = new ActiveMQConnectionFactory("vm://localhost");
Queue queue = new ActiveMQQueue("testQueue");
B)然后又ConnectionFactory创建一个Connection, 再启动这个Connection:
Connection connection = factory.createConnection();
connection.start();
C)接下来需要由Connection创建一个Session:
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE)
现在暂且不用管参数的含义, 以后会详细讲到.
D)下面就可以创建Message了,这里创建一个TextMessage。
Message message = session.createTextMessage("Hello JMS!");
E)要想把刚才创建的消息发送出去,需要由Session和Destination创建一个消息生产者:
MessageProducer producer = session.createProducer(queue);
F)下面就可以发送刚才创建的消息了:
producer.send(message);
G)消息发送完成之后,我们需要创建一个消息消费者来接收这个消息:
MessageConsumer comsumer = session.createConsumer(queue);
Message recvMessage = comsumer.receive();
H)消息消费者接收到这个消息之后,就可以得到它的内容:
System.out.println(((TextMessage)recvMessage).getText());
3.至此,一个简单的JMS例子就完成了。下面是全部源码 :
阅读全文
0 0
- JMS入门(三)--Queue的使用
- JMS入门(三)--Queue的使用
- JMS入门(三)--Queue的使用
- JMS入门(三)--Queue的使用
- JMS入门(三)--Queue的使用
- JMS入门(四)--Topic的使用
- JMS入门(四)--Topic的使用
- JMS入门(四)--Topic的使用
- JMS入门(四)--Topic的使用
- JMS Topic 和 JMS Queue 使用场景
- JMS(Jboss Messaging)的一点使用心得(七)JBoss invoke-动态创建Queue或者Topic
- JMS(Jboss Messaging)的一点使用心得(十四)Spring扩展应用—用单线程接收Queue
- JMS入门(三)点对点消息传送模型示例
- 消息队列入门(三)JMS标准及实现
- Jms Topic和Queue的比较
- WAS 中配置JMS Queue的注意事项
- JMS Topic 和queue 的区别
- (八)jms topic与jms queue区别
- Android:最全面的 Webview 详解
- php配置项目时候的小技巧
- WPF 值转换器
- mysql字符集相关汇总
- iOS开发 版本号转化为数字
- JMS入门(三)--Queue的使用
- IBM机器管理平台HMC安装实践
- Git工作原理
- [iOS App跳转]app跳转后回跳 零点几秒的空白处理
- MongoDB3.2 之 aggregate的管道符详述
- caffe(4) 运行实例cifar
- 关于const的三类指针
- Git-理论篇-三个区域和交互
- 在Vultr上搭建ss,包含最简版centos7安装过程中的各种坑解决