spring jms把企业消息处理变容易

上传人:xins****2008 文档编号:108397267 上传时间:2019-10-23 格式:DOC 页数:10 大小:105.50KB
返回 下载 相关 举报
spring jms把企业消息处理变容易_第1页
第1页 / 共10页
spring jms把企业消息处理变容易_第2页
第2页 / 共10页
spring jms把企业消息处理变容易_第3页
第3页 / 共10页
spring jms把企业消息处理变容易_第4页
第4页 / 共10页
spring jms把企业消息处理变容易_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《spring jms把企业消息处理变容易》由会员分享,可在线阅读,更多相关《spring jms把企业消息处理变容易(10页珍藏版)》请在金锄头文库上搜索。

1、Spring JMS把企业消息处理变容易在 Spring 系列 的第 4 期也是最后一期中,我将介绍 Spring JMS(Java 消息服务)框架的特性。JMS PG 定义了 Java 应用程序通过面向消息的中间件(MOM)创建和交换消息的标准途径。 就像在这个系列前面的文章中一样,我将使用一个简单的示例来演示 Spring JMS 的特性。您将随我一道开发一个点对点的(P2P)基于消息的系统,使用 Spring JMS 框架通过 JMS 接口与 IBM 的 WebSphere MQ 集成。完成练习后,将可以通过这个系统发送和接收简单的文本消息。在开始之前,请 下载文章的源代码。请参阅 参考

2、资料 访问 Spring 框架和 IBM WebSphere MQ 5.3。还需要 Apache Ant 来运行示例应用程序。Spring JMS Spring 的 JMS 抽象框架简化了 JMS API 的使用,并与 JMS 提供者(比如 IBM 的 WebSphere MQ 5.3)平滑地集成。org.springframework.jms.core 包提供了在 Spring 中使用 JMS 的核心功能。它的模板类处理资源的创建和释放,简化了 JMS 的使用。像其他大多数 Spring 模板类一样,JMS 模板类提供了执行公共操作的 helper 方法。在需要更复杂应用的情况下,类把处理任

3、务的核心委托给用户实现的回调接口。JMS 类提供了方便的方法,用来发送消息、同步地使用消息以及向用户公开 JMS 会话和消息的制作者。以下 JMS 包和 org.springframework.jms.core 一起构成了 Spring JMS 的功能:org.springframework.jms.support提供转换 JMSException 的功能。转换代码把检测到的 JMSException 层次结构转换成未检测到异常的镜像层次结构。org.springframework.jms.support.converter提供 MessageConverter 抽象,以在 Java 对象和

4、JMS 消息之间进行转换。org.springframework.jms.support.destination提供管理 JMS 目标的不同策略,比如针对 JNDI 中保存的目标的服务定位器。org.springframework.jms.connection 提供适合在独立应用程序中使用的 ConnectionFactory 实现。connection 还包含针对 JMS 的 Spring PlatformTransactionManager 实现。它允许把 JMS 作为事务性资源集成到 Spring 的事务管理机制中。IBM WebSphere MQ 就像前面提到的,示例应用程序会用 Sp

5、ring 的 JMS 框架通过 JMS 接口与 IBM 的 WebSphere MQ 集成。通过在应用程序和 Web 服务之间传递消息,WebSphere MQ 提供了可靠的、有恢复能力的应用程序集成。它使用队列和事务性工具帮助保持消息跨网络的完整性。WebSphere MQ 降低了信息丢失的风险和调和通信 IT 系统的需要。WebSphere MQ 在它所支持的所有平台上提供了一致的应用程序编程接口,这有助于让集成的程序可移植。除了标准接口外,WebSphere MQ 还完整实现了JMS 接口,包括对发布-订阅消息传递的支持。WebSphere MQ Explorer 工具可以远程地管理和配

6、置整个 MQ 网络。管理和配置工具基于开放源码的 Eclipse 框架,而且是可扩展的。Spring JMS 模板Spring 框架提供了 JmsTemplate 的两个实现。JmsTemplate 类使用 JMS 1.1 API,子类 JmsTemplate102 则使用 JMS 1.0.2 API。我的示例应用程序使用的是 JmsTemplate102。 JMS 模板被用来发送和接收 JMS 消息。Spring 采用回调机制对 JMS 信息传递进行协调。MessageCreator 回调接口用 JmsTemplate 中的调用代码提供的 Session 创建消息。为了支持 JMS API

7、更复杂的应用,回调 SessionCallback 向用户提供了 JMS 会话,而 callback ProducerCallback 则公开了 Session 和 MessageProducer 组合。清单 1 显示了示例应用程序使用的 JMS 模板的配置。清单摘自 spring-mqseries-jms.xml 文件(请参阅 下载)。清单 1. JMS 模板配置false20000 jmsQueueTemplate bean 与 JMS 连接工厂和 JMS 目标解析器绑定在一起,用于解析 JMS 客户机通过 JNDI 提供的目标队列名。connectionFactory 属性指定了如何获得

8、到 JMS 提供者的连接。在本例中,清单 2 显示了如何从 JNDI 检索连接工厂。清单 2. 通过 JNDI 配置 JMS 连接工厂MQ_JMS_MANAGER 可以看到,JndiObjectFactoryBean 被绑定到 internalJmsQueueConnectionFactory。JndiObjectFactoryBean 用 JndiTemplate 属性进行 JNDI 查询。Spring 将用 JndiTemplate 中指定的环境属性和初始上下文在 JNDI 中查询连接工厂。清单 3 显示了 JndiTemplate 配置 bean 的配置。清单 3. JNDI 查询的 J

9、NDI 模板配置com.sun.jndi.fscontext.RefFSContextFactoryfile:/C:/JNDI-Directory 以上配置进行 JNDI 查询时用 com.sun.jndi.fscontext.RefFSContextFactory 指定初始上下文工厂,用基于文件的 file:/C:/JNDI-Directory 作为提供者 URL。根据示例应用程序的意图,JNDI 访问会采用基于文件的 FSContext 版本(请参阅 参考资料)的配置把 MQ 队列绑定到 JNDI。有了定义好的 JMS 模板,下一步就是把它绑定到示例应用程序中,然后就可以用它发送和接收消息

10、了。Spring JMS 实现JMS 模板可以绑定到应用程序中,以发送和接收 JMS 消息。在清单 4 中可以看出我如何把 清单 1 中的 JMS 模板绑定到示例应用程序中。清单 4. 把 JmsTemplate 绑定到应用程序中可以看到,我把 jmsQueueTemplate 绑定到用来发送和接收消息的 JmsSender 应用程序 bean 和 JmsReceiver bean。清单 5 显示了与 JMSSender 类有关的代码。清单 5. 用 JmsTemplate 发送 JMS 消息的 JMSSenderpublic class JMSSender private JmsTemplate102 jmsTemplate102;public JmsTemplate102 getJmsTemplate102() return jmsTemplate102;public void setJmsTemplate102(JmsTemplate102 jmsTemplate102) this.jmsTemplate102 = jmsTemplate102;public void sendMesage()jmsTemplate102.send(JMS_RequestResponseQueue,new MessageCrea

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号