MS命名空间支持
来源:互联网 发布:神经网络模型算法 编辑:程序博客网 时间:2024/06/06 05:02
转载 :http://www.iteedu.com/webtech/j2ee/spring25cn/ch19s04.php
Spring 2.5引入了XML命名空间以简化JMS的配置。使用JMS命名空间元素时,需要引用如下的JMS Schema:
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jms="http://www.springframework.org/schema/jms" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsdhttp://www.springframework.org/schema/jms http://www.springframework.org/schema/jms/spring-jms-2.5.xsd"><!-- <bean/>
definitions here --></beans>
这个命名空间由两级元素组成:<listener-container/>
和 <jca-listener-container/>
,它们都可以包含一个或这个多个 <listener/>
子元素。下面是一个基本配置的示例,包含两个监听器。
<jms:listener-container> <jms:listener destination="queue.orders" ref="orderService" method="placeOrder"/> <jms:listener destination="queue.confirmations" ref="confirmationLogger" method="log"/></jms:listener-container>
上面的例子等同于在 第 19.4.4 节 “MessageListenerAdapter
” 的示例中,定义两个不同的监听器容器和两个不同的 MessageListenerAdapter
。除了上面的属性外,listener
元素还具有几个可选的属性。下面的表格列出了所有的属性:
表 19.1. JMS listener
元素的属性
监听器容器的Bean名称。如果没有指定,将自动生成一个Bean名称。
destination(必须)监听器目的地的名称,由 DestinationResolver
的策略决定。
处理对象的Bean名称
method处理器中被调用的方法名。如果 ref
指向 MessageListener
或者 Spring SessionAwareMessageListener
,则这个属性可以被忽略。
默认的响应目的地是发送响应消息抵达的目的地。 这用于请求消息没有包含"JMSReplyTo"域的情况。响应目的地类型被监听器容器的"destination-type"属性决定。记住:这仅仅适用于有返回值的监听器方法,因为每个结果对象都会被转化成响应消息。
subscription持久订阅的名称,如果需要的话。
selector监听器的一个可选的消息选择器。
<listener-container/>
元素也有几个可选的属性。 这些属性允许像 基本的 JMS设置和资源引用一样来定义不同的策略 (例如 taskExecutor 和destinationResolver)。 使用这些属性,可以定义很广泛的定制监听器容器,同时仍享有命名空间的便利。
<jms:listener-container connection-factory="myConnectionFactory" task-executor="myTaskExecutor" destination-resolver="myDestinationResolver" transaction-manager="myTransactionManager" concurrency="10"> <jms:listener destination="queue.orders" ref="orderService" method="placeOrder"/> <jms:listener destination="queue.confirmations" ref="confirmationLogger" method="log"/></jms:listener-container>
下面的表格描述了所有可用的属性。参考 AbstractMessageListenerContainer
类和具体子类的Javadoc来了解每个属性的细节。这部分的Javadoc也提高那个了事务选择和消息传输场景的讨论。
表 19.2. JMS <listener-container/>
元素的属性
监听器容器的类型。可用的选项是: default
、simple
、default102
或者 simple102
(默认值是 'default'
)。
JMS ConnectionFactory
Bean的引用(默认的Bean名称是 'connectionFactory'
)。
JMS监听器调用者Spring TaskExecutor
的引用。
DestinationResolver
策略的引用,用以解析JMS Destinations
。
MessageConverter
策略的引用,用以转换JMS Messages 成监听器方法的参数。默认值是 SimpleMessageConverter
。
监听器的JMS目的地类型。可用的选项包含: queue
、topic
或者 durableTopic
(默认值是 'queue'
)。
这个监听器容器在JMS客户端的id。
acknowledge本地JMS应答模式。可用的选项包含: auto
、client
、dups-ok
或者 transacted
(默认值是 'auto'
)。 'transacted'
的值可激活本地事务性 Session
。 也可以通过指定下面介绍的 transaction-manager
属性。
Spring PlatformTransactionManager
的引用。
每个监听器可激活的Session最大并发数。
prefetch加载进每个Session的最大消息数。记住增加这个值会造成并发空闲。
使用“jms” Schema支持来配置基于JCA的监听器容器很相似。
<jms:jca-listener-container resource-adapter="myResourceAdapter" destination-resolver="myDestinationResolver" transaction-manager="myTransactionManager" concurrency="10"> <jms:listener destination="queue.orders" ref="myMessageListener"/></jms:jca-listener-container>
JCA可用的配置选项描述如下表:
表 19.3. JMS <jca-listener-container/>
元素的属性
JCA ResourceAdapter
Bean 的一个引用(默认的Bean名称是'resourceAdapter'
)。
JmsActivationSpecFactory
的一个引用。 默认自动检测JMS提供者和它的 ActivationSpec
类 (参考 DefaultJmsActivationSpecFactory
)
DestinationResolver
策略的引用,用以解析JMS Destinations
。
MessageConverter
策略的引用,用以转换JMS Messages 成监听器方法参数。 默认值是 SimpleMessageConverter
。
监听器的JMS目的地类型。可用的选项包含 queue
、topic
或者 durableTopic
默认是 'queue'
)。
这个监听器容器在JMS客户端的id。
acknowledge本地JMS应答模式。可用的选项包含:auto
、client
、dups-ok
或者 transacted
(默认值是 'auto'
)。 'transacted'
的值可激活本地事务性 Session
。 也可以通过指定下面介绍的 transaction-manager
属性
Spring JtaTransactionManager
或者 javax.transaction.TransactionManager
的引用,用以为传进的消息应用XA事务。 如果没有指定,将使用本地应答模型(参见“acknowledge”属性)。
每个监听器可激活的Session最大并发数。
prefetch加载进每个Session的最大消息数。记住增加这个值会造成并发空闲。
- MS命名空间支持
- [置顶] 让FLEAPHP支持简易的命名空间
- PHPStorm 添加支持 PSR-4 命名空间前缀设置
- 命名空间
- 命名空间
- 命名空间
- 命名空间
- 命名空间
- 命名空间
- 命名空间
- 命名空间
- 命名空间
- 命名空间
- 命名空间
- 命名空间
- 命名空间
- 命名空间
- 命名空间
- 打造自己的Eclipse的主题
- Linux 设备驱动中的file_operations
- TCP网络编程【实例】
- 一个苹果证书怎么多次使用——导出p12文件
- Android代码优化小技巧
- MS命名空间支持
- 自定义JSP标签
- linux期末复习知识点小结(二)——Linux操作系统
- 用minicom向ARM板传送文件的一种方法
- 测试
- windows下安装python第三方引用包
- 浅谈关于平板电脑的几个谣言
- 如何测栈的深度
- ANF使用经验总结