JMS 作為 J2EE 高級規範,Sun 僅定義規範,具體實現由多廠商提供。Tomcat、Resin 等輕量級服務器本身不支持 JMS,幸運的是 OpenJMS 與 ActiveMQ 等開源項目提供插件式支持。本文整合 Tomcat + ActiveMQ 實現步驟。
web.xml,啟動 SpringBrokerContextListener,指定 activemq.xml 配置文件路徑<context-param>
<param-name>brokerURI</param-name>
<param-value>/WEB-INF/activemq.xml</param-value>
</context-param>
<listener>
<listener-class>org.activemq.web.SpringBrokerContextListener</listener-class>
</listener>
tcp://localhost:61616,異步發送、最大未確認消息 50oracle-dsderby-ds(DBCP 連接池),或替換為 Oracle 等生產級數據源啟動 Tomcat 即可看到 JMS 服務器已綁定。Spring 封裝雖簡化開發,但在監聽器實現等場景下,OO 封裝有時反成障礙,callback 仍難取到某些上下文,需視項目情況權衡。