Message Driven POJO

王朝java/jsp·作者佚名  2006-03-26
窄屏简体版  字體: |||超大  

作者:江南白衣

JMS,始终在JavaEE五花八门的协议里,WebService满天飞的时候占一位置:

1.因为

1. 可以把不影响用户执行结果又比较耗时的任务(比如发邮件通知管理员)异步的扔给JMS 服务端去做,而尽快的把屏幕返还给用户。

且服务端能够多线程排队响应--高并发的请求。

2. 可以在Java世界里达到最高的解耦。

客户端与服务端无需直连,甚至无需知晓对方是谁、在哪里、有多少人,只要对流过的信息作响应就行了。对于牵一发动全身的企业应用很有用。

2. 但是

1. Message Bean步骤比较繁杂,你需要实现MessageDrivenBean, MessageListener接口,还需要设置EJB的配置信息,然后是deploy....

2. Spring 1.x 提供的JMS Template简化了JMS Client端的编程,但对于服务端并没有涉及。

3. 所以,SpringSide的Message Driven POJO方案

Spring JMS Template + ActiveMQ + Jencks

1. 它是Lightweight的,基本上只是普通POJO,不用搞太多东西。

2. 它是Spring Base的,可以使用Spring的各种特性如IOC、AOP。

3. 它是Effective的,基于Jencks的JCA Container实现 pool connection,control transactions and manage security。

4. 但它是withdout EJB Container的。

其实它还不是100% POJO,除非再用上Lingo,但我已不想走得太远。

4.黄金版配置

如果你想找一个ActiveMQ 3.2 Stable版+Spring的100%可行的配置文件,估计只能到SpringSide项目里看了。网上的文章,不是已过时,就是不切题。

推荐中英两份最接近的文档:

捷特慈朋(IDEA中国): Spring和Message Bean的整合

Spring loaded: Message-Driven POJOs

不过它们都有个outdate的地方--ActiveMQ3.2开始不再自带JCA Cotainer了,而是将其与Gernimo 合作而成了Jencks,需另外安装。

5.SpringSide旅游指南

pom.xml里的JMS部分 --所需的依赖包。

applicationContext-jms.xml --黄金版配置文件。

activemq.xml --AcitveMQ Broker配置文件。

OrderPlaceMDP.java --Message Driven Pojo。

JmsTest.java --单元测试用例。

OrderManger.java的NodifyOrder()函数 --实际应用的地方。

POJO太简单,唯一麻烦的配置文件已注释,这里也就无话了。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航