?
本文檔使用 php中文網(wǎng)手冊 發(fā)布
目錄
JmsTemplate
SessionCallback
和 ProducerCallback
SessionAwareMessageListener
接口MessageListenerAdapter
Spring提供了一個(gè)用于簡化JMS API使用的抽象框架,并且對用戶屏蔽了JMS API中1.0.2和1.1版本的差異。
JMS的功能大致上分為兩塊,叫做消息制造和消息消耗。JmsTemplate
用于制造消息和同步消息接收。和Java EE的事件驅(qū)動(dòng)Bean風(fēng)格類似,對于異步接收消息,Spring提供了一些消息偵聽容器來創(chuàng)建消息驅(qū)動(dòng)的POJO(MDP)。
org.springframework.jms.core
包提供使用JMS的核心功能。
就象為JDBC提供的 JdbcTemplate
一樣,它提供了JMS模板類來處理資源的創(chuàng)建和釋放以簡化JMS的使用。Spring模板類的公共設(shè)計(jì)原則就是通過提供助手方法去執(zhí)行公共的操作,并將實(shí)際的處理任務(wù)委派到用戶實(shí)現(xiàn)的回調(diào)接口上,從而完成更復(fù)雜的操作。JMS模板也遵循這樣的設(shè)計(jì)原則。這些類提供眾多便利的方法來發(fā)送消息、同步接收消息、使用戶可以接觸到JMS session和消息產(chǎn)生者。
org.springframework.jms.support
包提供JMSException的轉(zhuǎn)換功能。它將受控的 JMSException異常層次轉(zhuǎn)換到一個(gè)對應(yīng)的非受控異常層次。任何受控javax.jms.JMSException異常的子類都被包裝在非受控UncategorizedJmsException異常里。
org.springframework.jms.support.converter
包提供一個(gè) MessageConverter
用來抽象Java對象和JMS消息之間的轉(zhuǎn)換操作。
org.springframework.jms.support.destination
包為管理JMS目的地提供多種策略,例如為存儲(chǔ)在JNDI中的目的地提供一個(gè)服務(wù)定位器。
最后,org.springframework.jms.connection
包提供一個(gè)適合在獨(dú)立應(yīng)用中使用的
ConnectionFactory
的實(shí)現(xiàn)。它還為JMS提供了一個(gè)Spring的 PlatformTransactionManager
的實(shí)現(xiàn)(現(xiàn)在叫做 JmsTransactionManager
)。
這樣可以把JMS作為一個(gè)事務(wù)資源無縫地集成到Spring的事務(wù)管理機(jī)制中去。