在所有新的 Spring 2.0 特性和改进中,我必须承认消息驱动的 POJO 是我个人最喜欢的一个。我感觉很多其他 Spring 用户也会有同感。
在这里我提供一个快速介绍。还有很多内容可以展示,我将在后续帖子中跟进。不过现在,这应该能为你提供足够的信息,以便使用一些真正的基于 POJO 的异步 JMS 快速上手!我希望你们和我一样对此感到兴奋 ;)
先决条件
你的 classpath 中需要包含以下 JAR 文件。我也列出了我使用的版本(任何 spring-2.x 版本应该都可以。事实上我刚刚在两分钟前把 RC3 放了进去)
- activemq-core-3.2.2.jar
- concurrent-1.3.4.jar
- geronimo-spec-j2ee-managment-1.0-rc4.jar
- commmons-logging-1.0.4.jar
- log4j-1.2.9.jar
- jms-1.1.jar
- spring-2.0-rc3.jar
设置环境
首先,我们需要设置环境。我将使用 ActiveMQ,但更换提供者的影响将仅限于修改此文件。我将此文件命名为“shared-context.xml”,因为正如你很快会看到的,我将为 JMS 通信的两端导入这些 bean 定义。以下是“共享”的 bean 定义:连接工厂和两个队列(一个用于请求,一个用于回复)
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="requestQueue" class="org.activemq.message.ActiveMQQueue">
<constructor-arg value="requestQueue"/>
</bean>
<bean id="replyQueue" class="org.activemq.message.ActiveMQQueue">
<constructor-arg value="replyQueue…