JMS 激活规范与一个或多个消息驱动的 Bean 相关联,并给他们提供接收消息所必需的配置。
如果希望使用消息驱动的 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 名称。
| 信息 | 值 |
|---|---|
| 必需 | 是 |
| 数据类型 | 字符串 |
资源的可选描述。
| 信息 | 值 |
|---|---|
| 必需 | 否 |
| 数据类型 | 文本区域 |
消息驱动的 Bean 使用队列还是主题目标。
| 信息 | 值 |
|---|---|
| 必需 | 是 |
| 数据类型 | 下拉列表 |
| 范围 |
|
目标的 JNDI 名称。
在 目标类型 属性上选择目标的类型。
对于支持 JMS 的资源适配器,您必须将 javax.jms.Destinations 与某个激活规范相关联,以便该资源适配器能够为来自 JMS 目标的消息提供消息。在这种情况下,管理员应配置用于实现 javax.jms.Destination 接口的 J2C 受管对象并将其绑定至 JNDI。
可将 J2C 受管对象配置为使用实现 setDestination(javax.jms.Destination) 方法的 ActivationSpec 类。在这种情况下,可指定目标 JNDI 名称(即,实现 javax.jms.Destination 的 J2C 受管对象的 JNDI 名称)。
在应用程序启动期间,当激活规范作为端点激活的一部分初始化时,服务器使用目标 JNDI 名称来查找目标受管对象,然后在激活规范实例上设置该对象。
| 信息 | 值 |
|---|---|
| 必需 | 是 |
| 数据类型 | 字符串 |
用于确定消息驱动的 Bean 所接收消息的 JMS 消息选择器。值是用于选择一小部分可用消息的字符串。语法基于由 JMS 规范描述的 SQL 92 条件表达式语法的子集。有关更多信息,请参阅信息中心。
JMSType='car' AND color='blue' AND weight>2500
选择器字符串可引用 JMS 消息头中的字段和消息属性中的字段。消息选择器不能引用消息体值。
Null 值(空字符串)表明没有消息选择器用于消息使用者。
| 信息 | 值 |
|---|---|
| 必需 | 否 |
| 数据类型 | 字符串 |
会话如何确认其接收的任何消息。
删除消息时发送确认。
如果服务质量设置为最大努力非持久,那么在 Bean 启动时删除消息。对于所有其他服务质量,在 Bean 完成时删除消息。
| 信息 | 值 |
|---|---|
| 必需 | 否 |
| 数据类型 | 下拉列表 |
| 范围 |
|
标识了一组消息传递引擎的目标的名称。请使用“目标类型”属性来指定目标类型。
| 信息 | 值 |
|---|---|
| 必需 | 否 |
| 数据类型 | 字符串 |
Target 属性中指定的目标的类型。
| 信息 | 值 |
|---|---|
| 必需 | 否 |
| 数据类型 | 下拉列表 |
| 范围 |
|
此属性指定目标组的重要性。
| 信息 | 值 |
|---|---|
| 必需 | 否 |
| 数据类型 | 下拉列表 |
| 范围 |
|
应用程序连接至不在该应用程序所在进程中的消息传递引擎时应使用的入站传输链的名称。如果选择另一个进程中的消息传递引擎,那么仅当该消息传递引擎在运行所指定入站传输链的服务器中时,才可以建立连接。有关更多信息,请参阅信息中心。
如果所选消息传递引擎与应用程序在同一服务器中,那么将建立直接进程内连接并忽略此传输链属性。
| 信息 | 值 |
|---|---|
| 必需 | 否 |
| 数据类型 | 字符串 |
用于连接至引导服务器的端点三元组(语法为“主机名:端口号:链名”)的列表,以逗号分隔各个端点三元组。例如,Merlin:7276:BootstrapBasicMessaging,Gandalf:5557:BootstrapSecureMessaging。
如果未指定主机名,那么 localhost 将用作缺省值。
如果未指定端口号,那么 7276 用作缺省值。
如果未指定协议,那么预定义链(如 BootstrapBasicMessaging)用作缺省值。
| 信息 | 值 |
|---|---|
| 必需 | 否 |
| 数据类型 | 文本区域 |
在一个消息批次中能够从消息传递引擎接收的最大消息数。
| 信息 | 值 |
|---|---|
| 必需 | 否 |
| 数据类型 | 整型 |
| 范围 | 1 到 2147483647 |
以并发方式将消息传递至的端点的最大数目。
| 信息 | 值 |
|---|---|
| 必需 | 否 |
| 数据类型 | 整型 |
| 范围 | 1 到 2147483647 |
这些参数使端点能够在连续失败消息数目达到指定限制时自动停止。这可帮助区分是消息自身问题(一个或两个消息失败)还是系统资源问题(导致多个连续失败消息)。
端点自动停止时,它在管理控制台面板上的状态显示为红色。必须通过单击恢复手动重新启动该端点。
在端点重新启动之后,就会重试导致端点停止的所有失败消息。如果消息仍然失败,那么会将他们移至异常目标(如果已配置该目标)。
启用根据下面的参数自动停止端点。
| 信息 | 值 |
|---|---|
| 必需 | 否 |
| 数据类型 | 布尔值 |
连续失败消息数目达到配置的限制时,端点会自动停止。由于 MDB 中的处理依赖性,所处理的实际消息数目可能会超过此值。
除非启用 在重复的消息失败时自动停止端点 属性,否则不会启用此属性。
| 信息 | 值 |
|---|---|
| 必需 | 否 |
| 数据类型 | 整型 |
MDB 无法处理但尚未达到其最大失败传递限制的任何消息将仅在此时间段(以毫秒计)过去后才会重试。除非将连续失败阈值和最大并行度设置为 1,否则在此时间段内可能会尝试传送其他消息。
设置失败消息重试之间的延迟可减少 MDB 停止前不必要地移至异常目标的消息的数目。为尽量减少移动的消息的数目,应将此延迟设置为高于消息达到目标之间的期望时间间隔的值。
除非启用 在重复的消息失败时自动停止端点 属性,否则不会启用此属性。
| 信息 | 值 |
|---|---|
| 必需 | 否 |
| 数据类型 | 整型 |
| 范围 | 时间以毫秒计。值 0 指示重试之间没有延迟。 |
JMS 主题预订是持续预订还是非持续预订。
| 信息 | 值 |
|---|---|
| 必需 | 否 |
| 数据类型 | 下拉列表 |
| 范围 |
|
持久主题预订所需的预订名。在使用持久主题预订时,这是必填字段。
此预订名称在给定的客户机标识中必须唯一。
| 信息 | 值 |
|---|---|
| 必需 | 否 |
| 数据类型 | 字符串 |
使用此激活规范创建的所有连接上持久主题预订所需的 JMS 客户机标识。
| 信息 | 值 |
|---|---|
| 必需 | 否 |
| 数据类型 | 字符串 |
一个消息传递引擎的名称,该消息传递引擎用于存储传递到根据此 JMS 激活规范创建的对象的持续预订的消息。在使用持久主题预订时,必须填写此字段。
| 信息 | 值 |
|---|---|
| 必需 | 否 |
| 数据类型 | 字符串 |
启用后,通过此激活规范接收到的对象消息仅在绝对必要时才会让系统序列化其消息数据。应用程序必须将从这些消息获取的数据视为只读。
| 信息 | 值 |
|---|---|
| 必需 | 否 |
| 数据类型 | 布尔值 |
启用后,通过此激活规范转发的并且其有效内容已修改的对象/字节消息的数据在设置到消息中时不会被复制,并且系统仅在绝对必要时才会序列化消息数据。一旦数据设置到消息中,发送这类消息的应用程序就不能修改数据。
| 信息 | 值 |
|---|---|
| 必需 | 否 |
| 数据类型 | 布尔值 |
预读是一种优化措施,即抢先将消息指定给使用者。此优化措施能够缩短满足使用者请求所耗用的时间。
指定给使用者的消息被锁定在服务器上,并且不能被此目标的任何其他使用者使用。指定给使用者但在该使用者关闭前未被使用的消息随后在服务器上被解锁,这样其他使用者就可以接收那些消息。
通过对 JMS 目标设置提前读取属性,可以对各个 JMS 目标覆盖此属性。
| 信息 | 值 |
|---|---|
| 必需 | 否 |
| 数据类型 | 下拉列表 |
| 范围 |
|
仅当 MDB 应用程序在属于应用程序的目标总线的服务器上运行时,才使用此属性。MDB 在不属于目标总线的服务器上运行时,此属性不起作用。
如果 MDB 在属于目标总线的服务器上运行,那么启用此选项允许 MDB 应用程序处理消息,不管该服务器是否同时主管正在运行的消息传递引擎都是如此。如果未启用此选项,那么在未运行本地 ME 的服务器上的 MDB 应用程序不会处理消息。
有关更多信息,请参阅“集群中的消息驱动的 Bean 的连接方式”主题。
| 信息 | 值 |
|---|---|
| 必需 | 否 |
| 数据类型 | 布尔值 |
尝试连接至消息传递引擎操作之间的延迟(以秒计),适合初始连接以及建立更好连接的任何后续尝试。
| 信息 | 值 |
|---|---|
| 必需 | 否 |
| 数据类型 | 整型 |
| 范围 | 1 到 2147483647 |
J2C 认证别名的名称,此别名用于对服务集成总线连接进行组件管理的认证。
Java Platform Enterprise Edition (Java EE) 连接器体系结构 (JCA) 认证别名指定用于对 JMS 提供程序认证新连接创建操作的用户标识和密码。
如果使用认证别名字段,那么不得指定用户名和密码定制属性。设置为应用程序部署的一部分的认证别名属性优先于对激活规范管理对象设置的属性。
仅当认证别名被写至采用未加密格式的文件中时(即使是为了事务恢复记录),才会使用安全服务来保护真正的用户名和密码。
在应用程序启动期间,当激活规范作为端点激活的一部分初始化时,服务器使用认证别名来从安全性检索真正的用户名和密码,然后在激活规范实例上设置该用户名和密码。
| 信息 | 值 |
|---|---|
| 必需 | 否 |
| 数据类型 | 下拉列表 |