JMSTemplate JmsTemplate 提供了几种辅助方法,用来执行一些基本操作。
要开始使用 JmsTemplate 前,您需要知道 JMS 供应商支持哪个 JMS 规范,JBoss
AS 4.0.2 和 WebLogic 8.1 服务器支持 JMS 1.0.2 规范。WebLogic Server 9.0
包括了对 JMS 1.1 规范的支持。JMS 1.1 统一了点对点(PTP)和发布/订阅
(Pub/Sub)域的编程接口。这种改变的结果就是,开发人员可以创建一个事务会
话,然后在这同一个 JMS 会话里,可以从一个 Queue(PTP)中接收消息,同时发
送另一个消息到一个 Topic(Pub/Sub)。JMS 1.1 向后兼容 JMS 1.0,应此根据
JMS 1.0 编写的代码仍可以适用于 JMS 1.1。
JmsTemplate 提供多种发送和接收消息的方法。表 2 列出了这些方法的一
部分。
表 2.JMS template 方法
方法名称功能 send 发送消息至默认或指定的目标。JmsTemplate 包含 send
方法,它通过 javax.jms.Destination 或 JNDI 查询来指定目标。receive 从默
认或指定的目标接收消息,但只会在指定的时间后传递消息。我们可以通过
receiveTimeout 属性指定超时时间。convertAndSend 这个方法委托
MessageConverter 接口实例处理转换过程,然后发送消息至指定的目标。
receiveAndConvert 从默认或指定的目标接收消息。并将消息转换为 Java 对象。
目标可以通过 JNDI 上下文保存和获取。当配置 Spring 程序上下文
(application context)时,我们可以用 JndiObjectFactoryBean 类取得对 JMS
的引用。DestinationResolver 接口是用来把目标名称解析成 JMS 目标,当应
用程序存在大量目标时,这是非常有用的。
DynamicDestinationResolver(DestinationResolver 的默认实现)是用来解析
动态目标的。
MessageConverter 接口定义了将 Java 对象转换为 JMS 消息的约定。通过
这个转换器,应用程序代码可以集中于处理事务对象,而不用为对象如何表示
为 JMS 消息这样的内部细节所困饶。SimpleMessageConverter(和
SimpleMessageConverter102)是 MessageConverter 的默认实现。可使用它们分
别将 String 转换为 JMS TextMessage,字节数组(byte)转换为 JMS
BytesMessage,Map 转换为 JMS MapMessage,和 Serializable 对象转换为 JMS
评论0
最新资源