在所有新的 Spring 2.0 功能和改进中,我必须承认消息驱动的 POJO 是我个人最喜欢的功能之一。我感觉很多其他 Spring 用户也会有同样的感觉。
在这里,我提供一个快速介绍。还有很多内容需要展示,我将在后续博文中继续介绍。不过,就目前而言 - 这应该为您提供足够的信息,让您能够使用真正基于 POJO 的异步 JMS!我希望您和我一样对此感到兴奋;)
先决条件
您需要在类路径中包含以下 JAR 文件。我还列出了我正在使用的版本(任何 spring-2.x 版本都可以。事实上,我刚刚在 2 分钟前添加了 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…