JMS 激活规范 [设置]
如果您希望使用消息驱动的 Bean 通过 Java™ EE 连接器体系结构 (JCA) 1.5 与缺省消息传递提供程序通信,请创建 JMS 激活规范。JCA 提供 WebSphere® Application Server 之类的应用程序服务器与企业信息系统之间的 Java 连接。它提供将 JMS 提供程序与 Java EE 应用程序服务器集成的标准化方式,并提供与企业系统交换数据的框架,其中数据是以消息形式传输的。
对于除名称、JNDI 名称、目标 JNDI 名称或目标查找和认证别名以外的所有激活规范配置属性,这些属性将由相关联 EJB 2.1 或更高版本消息驱动的 Bean 的部署描述符中进行了适当命名的激活配置属性覆盖。对于 EJB 2.0 消息驱动的 Bean,目标类型、预订耐久性、确认方式和消息选择器属性被部署描述符中的对应元素覆盖。对于任意类型的 Bean,目标 JNDI 名称或目标查找属性可由消息驱动的 Bean 绑定中指定的值覆盖。
激活规范属性会影响缺省消息传递提供程序如何选择消息驱动的 Bean 应用程序连接至的消息传递引擎。缺省情况下,该环境自动将应用程序连接至总线上的可用消息传递引擎。但是,可指定额外的配置详细信息来影响连接进程;例如,标识特殊引导服务器、将连接范围限制为某个可用消息传递引擎子组、改进可用性或性能或者确保顺序处理接收的消息。 有关执行此操作的原因和方式的信息,请参阅“JMS 应用程序连接至总线上的消息传递引擎的方式”主题。
“配置”选项卡
“配置”选项卡显示此对象的配置属性。这些属性值将被保存下来,即使停止并重新启动运行时环境也是如此。请参阅信息中心任务描述以获取关于如何将配置更改应用于运行时环境的信息。
常规属性
范围
指定使应用程序服务器可使用此资源对象的最高拓扑级别。
信息 | 值 |
---|---|
必需 | 否 |
数据类型 | 字符串 |
提供程序
指定 JMS 提供程序,它将启用基于 Java 消息服务 (JMS) 的异步消息传递。它提供了 J2EE 连接工厂,用于为特定 JMS 队列或主题目标创建连接。JMS 提供程序管理对象用于为相关 JMS 提供程序管理 JMS 资源。
信息 | 值 |
---|---|
必需 | 否 |
数据类型 | 字符串 |
名称
资源的必需显示名称。
信息 | 值 |
---|---|
必需 | 是 |
数据类型 | 字符串 |
JNDI 名称
资源的 JNDI 名称。
信息 | 值 |
---|---|
必需 | 是 |
数据类型 | 字符串 |
描述
资源的可选描述。
信息 | 值 |
---|---|
必需 | 否 |
数据类型 | 文本区域 |
目标类型
信息 | 值 |
---|---|
必需 | 是 |
数据类型 | 下拉列表 |
范围 |
|
目标查找
在 目标类型 属性上选择目标的类型。
对于支持 JMS 的资源适配器,您必须将 javax.jms.Destinations 与某个激活规范相关联,以便该资源适配器能够为来自 JMS 目标的消息提供消息。在这种情况下,管理员应配置用于实现 javax.jms.Destination 接口的 J2C 受管对象并将其绑定至 JNDI。
可将 J2C 受管对象配置为使用实现 setDestination(javax.jms.Destination) 方法的 ActivationSpec 类。在这种情况下,可指定目标查找(即,实现 javax.jms.Destination 的 J2C 受管对象的 JNDI 名称)。
信息 | 值 |
---|---|
必需 | 是 |
数据类型 | 字符串 |
连接工厂查找
连接工厂的 JNDI 名称。
信息 | 值 |
---|---|
必需 | 是 |
数据类型 | 字符串 |
消息选择器
JMSType='car' AND color='blue' AND weight>2500
选择器字符串可引用 JMS 消息头中的字段和消息属性中的字段。消息选择器不能引用消息主体值。
Null 值(空字符串)表明没有消息选择器用于消息使用者。
信息 | 值 |
---|---|
必需 | 否 |
数据类型 | 字符串 |
总线名
信息 | 值 |
---|---|
必需 | 否 |
数据类型 | 定制 |
确认方式
删除消息时发送确认。
- 如果系统配置为在 Bean 完成时删除消息,那么会将消息派遣到 Bean 的新实例,从而使消息有进行处理的其他机会。
- 如果系统配置为在 Bean 启动时删除消息,那么该消息会丢失。
如果服务质量设置为最大努力非持久,那么在 Bean 启动时删除消息。对于所有其他服务质量,在 Bean 完成时删除消息。
信息 | 值 |
---|---|
必需 | 否 |
数据类型 | 下拉列表 |
范围 |
|
目标
信息 | 值 |
---|---|
必需 | 否 |
数据类型 | 字符串 |
目标类型
信息 | 值 |
---|---|
必需 | 否 |
数据类型 | 下拉列表 |
范围 |
|
目标重要性
信息 | 值 |
---|---|
必需 | 否 |
数据类型 | 下拉列表 |
范围 |
|
目标入站传输链
如果所选消息传递引擎与应用程序在同一服务器中,那么将建立直接进程内连接并忽略此传输链属性。
- InboundBasicMessaging
- 这是使用标准 TCP/IP 连接 (JFAP-TCP/IP) 的面向连接的协议。此协议支持两阶段事务(远程 XA)流,因此在客户机或服务器系统上运行的消息生产者或使用者可以参与此客户机或服务器系统上管理的全局事务。XA 流的具体用途是,支持从一个服务器上运行的应用程序访问第二个服务器上的消息传递引擎,进行此访问的原因可能是第一个服务器没有合适的消息传递引擎。如果使用远程 XA 流,那么在该应用程序的本地位置必须要有可用的事务协调程序。
- InboundSecureMessaging
- 这是合并在 SSL 中的 InboundBasicMessaging 协议。
信息 | 值 |
---|---|
必需 | 否 |
数据类型 | 字符串 |
提供程序端点
用于连接至引导服务器的端点三元组(语法为“主机名:端口号:链名”)的列表,以逗号分隔各个端点三元组。例如,Merlin:7276:BootstrapBasicMessaging,Gandalf:5557:BootstrapSecureMessaging。
如果未指定主机名,那么 localhost 将用作缺省值。
如果未指定端口号,那么 7276 用作缺省值。
如果未指定协议,那么预定义链(如 BootstrapBasicMessaging)用作缺省值。
信息 | 值 |
---|---|
必需 | 否 |
数据类型 | 文本区域 |
最大批处理大小
信息 | 值 |
---|---|
必需 | 否 |
数据类型 | 整数 |
范围 | 1 到 2147483647 |
每个端点的最大并发 MDB 调用数
信息 | 值 |
---|---|
必需 | 否 |
数据类型 | 整数 |
范围 | 1 到 2147483647 |
在重复的消息失败时自动停止端点
这些参数使端点能够在连续失败消息数目达到指定限制时自动停止。这可帮助区分是消息自身问题(一个或两个消息失败)还是系统资源问题(导致多个连续失败消息)。
端点自动停止时,它在管理控制台面板上的状态显示为红色。必须通过单击恢复手动重新启动该端点。
在端点重新启动之后,就会重试导致端点停止的所有失败消息。如果消息仍然失败,那么会将他们移至异常目标(如果已配置该目标)。
启用
信息 | 值 |
---|---|
必需 | 否 |
数据类型 | 布尔值 |
连续失败消息阈值
除非启用 在重复的消息失败时自动停止端点 属性,否则不会启用此属性。
信息 | 值 |
---|---|
必需 | 否 |
数据类型 | 整数 |
失败消息重试之间的延迟
设置失败消息重试之间的延迟可减少 MDB 停止前不必要地移至异常目标的消息的数目。为尽量减少移动的消息的数目,应将此延迟设置为高于消息达到目标之间的期望时间间隔的值。
除非启用 在重复的消息失败时自动停止端点 属性,否则不会启用此属性。
信息 | 值 |
---|---|
必需 | 否 |
数据类型 | 整数 |
范围 | 时间以毫秒计。值 0 指示重试之间没有延迟。 |
预订持久性
信息 | 值 |
---|---|
必需 | 否 |
数据类型 | 下拉列表 |
范围 |
|
预订名称
此预订名称在给定的客户机标识中必须唯一。
信息 | 值 |
---|---|
必需 | 否 |
数据类型 | 字符串 |
客户机标识
信息 | 值 |
---|---|
必需 | 否 |
数据类型 | 字符串 |
预订 Home
信息 | 值 |
---|---|
必需 | 否 |
数据类型 | 字符串 |
通过引用传递消息有效内容
使用此激活规范接收消息的应用程序必须遵循以下规则:
- 该应用程序未修改从 JMS 对象消息获取的数据对象。该数据对象被视为只读对象。
信息 | 值 |
---|---|
必需 | 否 |
数据类型 | 布尔值 |
使用此激活规范重新发送最初接收的消息的应用程序必须遵循以下规则:
- 应用程序可替换 JMS 对象消息中的数据对象,前提是尚未在消息中设置该数据对象。在消息中设置数据对象后,应用程序不会修改或替换该数据对象。
- 应用程序只会通过使用对 writeBytes(byte[]) 的单次调用来替换 JMS 字节消息中的字节数组,前提是尚未在消息中设置字节数组。在消息中设置字节数组后,应用程序不会修改或替换该字节数组。
信息 | 值 |
---|---|
必需 | 否 |
数据类型 | 布尔值 |
提前读取
指定给使用者的消息被锁定在服务器上,并且不能被此目标的任何其他使用者使用。指定给使用者但在该使用者关闭前未被使用的消息随后在服务器上被解锁,这样其他使用者就可以接收那些消息。
通过对 JMS 目标设置提前读取属性,可以对各个 JMS 目标覆盖此属性。
信息 | 值 |
---|---|
必需 | 否 |
数据类型 | 下拉列表 |
范围 |
|
始终激活所有服务器中的 MDB
仅当 MDB 应用程序在属于应用程序的目标总线的服务器上运行时,才使用此属性。MDB 在不属于目标总线的服务器上运行时,此属性不起作用。
如果 MDB 在属于目标总线的服务器上运行,那么启用此选项允许 MDB 应用程序处理消息,不管该服务器是否同时主管正在运行的消息传递引擎都是如此。如果未启用此选项,那么在未运行本地 ME 的服务器上的 MDB 应用程序不会处理消息。
- 集群中的所有服务器可从 MDB 应用程序接收消息以充分利用集群中的处理能力。
- 一次只有一个服务器能从 MDB 应用程序接收消息以确保顺序处理消息。
有关更多信息,请参阅“集群中的消息驱动的 Bean 的连接方式”主题。
信息 | 值 |
---|---|
必需 | 否 |
数据类型 | 布尔值 |
重试时间间隔
信息 | 值 |
---|---|
必需 | 否 |
数据类型 | 整数 |
范围 | 1 到 2147483647 |
认证别名
Java Platform Enterprise Edition (Java EE) 连接器体系结构 (JCA) 认证别名指定用于对 JMS 提供程序认证新连接创建操作的用户标识和密码。
如果使用认证别名字段,那么不得指定用户名和密码定制属性。设置为应用程序部署的一部分的认证别名属性优先于对激活规范管理对象设置的属性。
仅当认证别名被写至采用未加密格式的文件中时(即使是为了事务恢复记录),才会使用安全服务来保护真正的用户名和密码。
在应用程序启动期间,当激活规范作为端点激活的一部分初始化时,服务器使用认证别名来从安全性检索真正的用户名和密码,然后在激活规范实例上设置该用户名和密码。
信息 | 值 |
---|---|
必需 | 否 |
数据类型 | 下拉列表 |