文件名称:Spring_JMS的使用-基于java实现的ecc加密算法示例
文件大小:3.18MB
文件格式:PDF
更新时间:2024-07-08 02:30:41
Spring
26.2 Spring JMS的使用 26.2.1 JmsTemplate JmsTemplate 类是JMS核心包中的中心类。它简化了 JMS 的使用,因为在发送 或同步接收消息时它帮我们处理了资源的创建和释放。 使用 JmsTemplate 的代码只需要实现规范中定义的回调接口。 在 JmsTemplate 中通过调用代码让 MessageCreator 回调接口用所提供的会话 ( Session )创建消息。然而,为了顾及更复杂的 JMS API 应用,回调接 口 SessionCallback 将 JMS 会话提供给用户,回调接口 ProducerCallback 则 公开了 Session 和 MessageProducer 的组合。 JMS API 公开了发送方法的两种类型,一种接受交付模式、优先级和存活时间作为 服务质量(QOS)参数,另一种则使用缺省值作为 QOS 参数(无需参数)方式。 由于 JmsTemplate 中有很多发送方法,QOS 参数用 bean 属性进行暴露设置,从 而避免在一系列发送方法中的重复。同样地,使用 setReceiveTimeout 属性设置 用于同步接收调用的超时值。 一些 JMS 提供者通过配置 ConnectionFactory ,管理方式上允许默认的 QOS值 的设置。 MessageProducer 的发送方法 send(Destination destination, Message message) 在那些专有的 JMS 中将会使用不一样的 QOS 默认值。 所 以,为了提供对 QOS 值域、的统一管理, JmsTemplate 必须通过设置布尔值属 性 isExplicitQosEnabled 为true,使它能够使用自己的QOS值。 为了方便起见, JmsTemplate 还暴露了一个基本的请求-回复操作,允许在一个作 为操作一部分而被创建的临时队列上,进行消息的发送与等待回复。 配置的 JmsTemplate 类的实例是线程安全的。这很重要,因为这意味着你可 以配置一个 JmsTemplate 单例,然后安全地将这个共享引用注入给多个协作 者。 要清楚,保持对 ConnectionFactory 引用的 JmsTemplate 是有状态 的,但该状态不是会话状态。 从 Spring Framework 4.1开始, JmsMessagingTemplate 构建 在 JmsTemplate 之上,并提供与消息抽象层 (即 org.springframework.messaging.Message )的集成。 这允许你以通用的 方式来创建要发送的消息。 26.2 Spring JMS的使用 464