学习笔记——JMS消息
来源:互联网 发布:网络电视能看电视频道 编辑:程序博客网 时间:2024/05/17 00:50
JMS消息机制使用Message接口处理消息。
消息类型:
StreamMessage:从流中读取的消息;
MapMessage:由多个“key-value”对组成的内容。
TextMessage:普通字符串消息。
ObjectMessage:该消息包含序列化的对象。
BytesMessage:该消息内容是原始的字节流。
WebLogic还对TextMessage进行了扩展,扩展出一种新的类型XMLMessage。
JMS消息结构:
标准的消息头:可扩展的消息属性:消息主体内容
消息头是通过Message接口的setter和getter方法来设置、获取,也可有MessageProduce接口的方法操作。
消息生产者可通过调用Message对象的setXxxProperty(java.lang.String name, xxx value)方法来为JMS消息增加属性,
消息消费者可调用Message对象的getXxxProperty(java.lang.String name)方法来读取JMS消息属性。
消息的选择器:
JMS消息选择器的表达式是一个SQL-92的字符串表达式,该表达式由JMS消息头、消息属性和SQL-92比较运算符、逻辑运算符组成,该表达式的返回值必须是一个boolean值。
每个JMS消息消费者都可以指定一个消息选择器。
Session接口提供如下方法:
MessageConsumer createConsumer(Destiantion destination, String messageSelector)
MessageConsumer createConsumer(Destination destination, string messageSelector, boolean NoLocal)
e.g.
MessageConsumer receiver = session.createConsumer(destination, "JMSPriority > 4");
消息的临时目的:
JMS消息的临时目的使用场景:JMS消息生产者向JMS服务器发送消息时,将JMSReplyTo消息头设为临时目的,JMS消息消费者收到消息后,向该临时目的回送一个响应。
Session接口提供了如下方法创建临时目的:
TemporaryQueue createTemporaryQueue()
TemporaryTopic createTemporaryTopic()
使用方法:
生产者
TemporaryQueue tempDestination = session.createTemporaryQueue();message.setJMSReplyTo(tempDestination);...tempDestination.delete();
消费者
Destination replyTo = message.getJMSReplyTo();MessageProducer sender = session.createProducer(replyTo);TextMessage replyMessage = session.createTextMessage();replyMessage.setText("Hello!");sender.send(replyMessage);
- 学习笔记——JMS消息服务
- 学习笔记——JMS消息
- EJB学习笔记——JMS和消息驱动Bean
- JMS学习笔记(三)——消息头
- ActiveMQ学习笔记(2)——JMS消息模型
- ActiveMQ学习笔记(6)——JMS消息类型
- ActiveMQ学习笔记(2)——JMS消息模型
- ActiveMQ学习笔记(6)——JMS消息类型
- 【EJB学习笔记】——JMS和消息驱动Bean
- ActiveMQ学习笔记(2)——JMS消息模型
- JMS消息内部结构学习笔记
- JMS学习笔记(二)——使用JMS发送和接受text、Map、Object类型的消息
- ActiveMQ学习笔记(五)——使用Spring JMS收发消息
- ActiveMQ学习笔记(5)——使用Spring JMS收发消息
- ActiveMQ学习笔记(5)——使用Spring JMS收发消息
- JMS(java消息服务)学习笔记
- JMS学习笔记(一)——JMS基础
- JMS学习笔记(一)——JMS基础
- WIN7下VS2005 VS2008 SQLSERVER2005安装顺序
- HOJ Piggy-Bank为什么?????????
- SRM537-div1-2-KingXMagicSpells
- 两人分苹果的不同分配方法, Prolog实现
- C语言 strcat连接符
- 学习笔记——JMS消息
- 进程(process)和线程(thread).
- Android开发实战三之导入现有Android工程项目
- java 之 阻塞队列实现
- awk 总结
- java 之 Condition 线程间通信
- Android词汇
- java 之 三个线程交替执行任务
- 有用链接