缺省消息传递提供程序队列连接工厂 [设置]

JMS 队列连接工厂用于为点到点消息传递创建与 JMS 队列的相关联 JMS 提供程序的连接。 使用队列连接工厂管理对象为缺省消息传递提供程序管理 JMS 队列连接工厂。

要在控制台中查看此页面,请单击下列其中一个操作途径:

  • 资源 -> JMS -> 队列连接工厂 -> factory_name
  • 资源 -> JMS -> JMS 提供程序 -> a_messaging_provider -> [其他属性] 队列连接工厂 -> factory_name
使用此面板浏览或更改所选 JMS 队列连接工厂的配置属性,以与缺省消息传递 JMS 提供程序配合使用。 这些配置属性控制如何创建与关联的 JMS 队列的连接。

缺省情况下,通过使用 Java™ Platform, Enterprise Edition (Java EE) 连接器体系结构 (JCA) 连接池在服务器容器 (例如,来自企业 Bean) 中使用此 JMS 连接工厂创建的连接将合用在一起。 通过在管理控制台面板的“其他属性”部分中选择连接池属性链接,可以修改此连接工厂的连接池设置。

配置选项卡

“配置”选项卡显示此对象的配置属性。 这些属性值将被保存下来,即使停止并重新启动运行时环境也是如此。 有关如何将配置更改应用于运行时环境的信息,请参阅任务描述。

常规属性

作用域

指定使应用程序服务器可使用此资源对象的最高拓扑级别。

信息
Required
数据类型 字符串

PROVIDER

指定 JMS 提供程序,它支持基于 Java 消息服务 (JMS) 的异步消息传递。 它提供了 J2EE 连接工厂,用于为特定 JMS 队列或主题目标创建连接。 JMS 提供程序管理对象用于管理所关联的 JMS 提供程序的 JMS 资源。

信息
Required
数据类型 字符串

Name

资源的必需显示名称。

信息
Required
数据类型 字符串

JNDI 名称

资源的 JNDI 名称。

作为约定,请使用格式为 jms/Name 的 JNDI 名称,其中 Name 是资源的逻辑名。 有关使用 JNDI 及其语法的更多信息,请参阅 WebSphere® Application Server中的 "JNDI 支持" 主题。

信息
Required
数据类型 字符串

描述

资源的可选描述。

信息
Required
数据类型 文本区域

类别

将资源进行分类或分组时要使用的可选类别字符串。

信息
Required
数据类型 字符串

总线名称

要连接的服务集成总线的名称。

这是使用此连接工厂创建的连接所连接的服务集成总线的名称。
如果应用程序将建立与外部总线的连接,请输入本地总线的名称。
信息
Required
数据类型 定制

目标

标识一组消息传递引擎的目标的名称。 指定使用“目标类型”属性的目标的类型。

信息
Required
数据类型 字符串

目标类型

在“目标”属性中指定的目标的类型。

此属性指示用于确定一个或多个处理工作的消息传递引擎的目标名。 目标类型由 目标类型 属性指示

在满足选择标准的可用消息传递引擎之间对连接进行负载均衡。

如果希望应用程序能够连接到总线中的任何消息传递引擎,请不要设置此属性。

有关将此属性与连接工作负载管理的其他连接工厂属性配合使用的更多信息,请参阅“与总线的 JMS 连接的管理属性”主题。

信息
Required
数据类型 下拉列表
范围
总线成员名
总线成员的名称。 此选项检索由指定的总线成员(应用程序服务器或服务器集群)主管的活动消息传递引擎。

要指定非集群总线成员,必须将 Target 属性设置为 <Node01>.<server1>,例如 Node01.server1。 对于集群总线成员来说,必须将 Target 属性设置为集群名。

定制消息传递引擎组名
一组构成自声明集群的定制消息传递引擎的名称。 此选项检索已向所指定定制组注册的活动消息传递引擎。

消息传递引擎名称
消息传递引擎的名称。 此选项检索可用于到达所指定消息传递引擎的可用端点。

目标重要性

此属性指定目标组的重要性。

有关将此属性与连接工作负载管理的其他连接工厂属性配合使用的更多信息,请参阅“与总线的 JMS 连接的管理属性”主题。

信息
Required
数据类型 下拉列表
范围
首选
最好从目标组中选择消息传递引擎。 如果目标组包含可用的消息传递引擎,那么将选择该消息传递引擎。 如果目标组未包含可用的消息传递引擎,但在同一服务集成总线中有可用的消息传递引擎,那么将选择目标组外部的消息传递引擎。

Required
必须从目标组中选择消息传递引擎。 如果目标组包含可用的消息传递引擎,那么将选择该消息传递引擎。 如果目标组未包含可用的消息传递引擎,那么连接过程将失败。

目标入站传输链

特定入站传输链的名称,当应用程序连接到不同于该应用程序的进程中的消息传递引擎时,将该入站传输链作为目标。 如果选择另一个进程中的消息传递引擎,那么仅当该消息传递引擎位于运行指定的入站传输链的服务器中时才可以建立连接。 请参阅信息中心,以了解更多信息。

如果所选消息传递引擎与应用程序在同一服务器中,那么将建立直接进程内连接并忽略此传输链属性。

传输链表示在服务器中工作的网络协议堆栈。 您指定的名称必须是托管消息传递引擎的服务器中可用的传输链之一。 如 服务器 -> 服务器类型 -> WebSphere Application Server -> server_name -> [服务器消息传递] 消息传递引擎入站传输 面板中所列。 系统提供了下列传输链,但您可以在此面板上定义自己的传输链。
InboundBasicMessaging
这是使用标准 TCP/IP 连接 (JFAP-TCP/IP) 的面向连接的协议。 此协议支持两阶段事务(远程 XA)流,因此在客户机或服务器系统上运行的消息生产者或使用者可以参与此客户机或服务器系统上管理的全局事务。 XA 流的具体用途是,支持从一个服务器上运行的应用程序访问第二个服务器上的消息传递引擎,进行此访问的原因可能是第一个服务器没有合适的消息传递引擎。 如果使用远程 XA 流,那么在该应用程序的本地位置必须要有可用的事务协调程序。
InboundSecureMessaging
这是合并在 SSL 中的 InboundBasicMessaging 协议。
有关将此属性与连接工作负载管理的其他连接工厂属性配合使用的更多信息,请参阅“与总线的 JMS 连接的管理属性”主题。
信息
Required
数据类型 字符串

提供程序端点

用逗号分隔的一列端点三元组,其语法为 hostName:portNumber:chainName,用于连接到引导服务器。 例如,Merlin:7276:BootstrapBasicMessaging,Gandalf:5557:BootstrapSecureMessaging。 如果未指定 hostName,那么缺省值为 localhost。 如果未指定 portNumber,那么缺省值为 7276。 如果未指定 chainName,那么缺省值为 BootstrapBasicMessaging。 请参阅信息中心,以了解更多信息。

仅当在应用程序服务器外部运行的客户机应用程序或者另一单元中服务器上的应用程序要使用此连接工厂来连接到对此连接工厂指定的目标服务集成总线时,才需要修改此属性。

为了使用缺省消息传递提供程序的 JMS 目标,应用程序将连接到目标服务集成总线上目标被指定给的消息传递引擎。 例如,JMS 队列被指定给服务集成总线上的队列目标。

在应用程序服务器外部运行的客户机应用程序 (例如,在客户机容器中运行或在 WebSphere Application Server 环境外部运行) 无法直接在目标总线中找到要连接到的适当消息传递引擎。 同样,在一个单元中的服务器上运行以连接到另一单元中的目标总线的应用程序在目标总线中无法直接找到要连接的适当消息传递引擎。

在这些方案中,客户机(或者另一总线中的服务器)必须通过作为目标总线成员的引导服务器来完成引导过程。 引导服务器是运行 SIB 服务的应用程序服务器,但它不需要运行任何消息传递引擎。 引导服务器将选择正在应用程序服务器中运行并且支持必需的目标传输链的消息传递引擎。 为了能够执行引导过程,必须在客户机使用的连接工厂中配置一个或多个提供程序端点

引导服务器使用特定的端口和引导传输链。 该端口是主管链路远程端的消息传递引擎的 SIB_ENDPOINT_ADDRESS(如果启用了安全性,那么为 SIB_ENDPOINT_SECURE_ADDRESS)。 该端口与主机名一起构成引导服务器的端点地址

应用程序使用的 JMS 连接工厂的属性控制着对适当消息传递引擎的选择以及应用程序连接至所选消息传递引擎的方式。
  • 如果未提供安全凭证,那么缺省情况下
    • 如果未指定 host ,那么将使用 localhost
    • 如果未指定 port ,那么将使用端口 7276
    • 如果未指定引导程序通道链,那么将使用名为 BootstrapBasicMessaging 的引导程序传输链
  • 如果提供了安全凭证,那么缺省情况下
    • 如果未指定 host ,那么将使用 localhost
    • 如果未指定 port ,那么将使用端口 7286
    • 如果未指定引导程序通道链且端口号等于或大于 7286,那么将使用名为 BootstrapSecureMessaging 的引导程序传输链
    • 如果未指定引导程序通道链且端口号位于范围 7276 - 7285 内,那么将使用名为 BootstrapBasicMessaging 的引导程序传输链
[IBM i]注: 对于 IBM® i 平台,必须 (至少) 将缺省主机名从 localhost 更改为 your.server.name

如果希望应用程序使用具有其他端点地址的引导服务器,那么必须在客户机应用程序使用的 JMS 连接工厂的 Provider endpoints 属性上指定所需的端点地址。 您可以指定一个或多个引导服务器端点地址。

必须在每个由应用程序服务器外部的应用程序使用的 JMS 连接工厂中指定引导服务器端点地址。 为了避免必须指定过多的引导服务器,您可以提供几台具有高可用性的服务器来作为专用引导服务器。 然后,您只需要对每个连接工厂指定少量的引导服务器。

注: 配置与非缺省引导服务器的连接时,请指定端点地址的必需值,并使用冒号作为分隔符。
例如,对于主机 boothost1 上分配了非安全端口 7278 并使用缺省传输链 BootstrapBasicMessaging 的服务器:
boothost1:7278:BootstrapBasicMessaging
or 
boothost1:7278
而对于主机 boothost2 上分配了安全端口 7289 并使用预定义传输链 BootstrapTunneledSecureMessaging 的服务器:
boothost2:7289:BootstrapTunneledSecureMessaging
端点地址的语法如下所示:
[ [host_name] [ : [port_number] [ : chain_name] ] ]
其中:
host_name
是运行服务器的主机的名称。 可以指定 IP 地址。 对于 IPv6 地址,请在 host_name 周围放置方括号 ([]) ,如以下示例中所示:
[2002:914:fc12:179:9:20:141:42]:7276:BootstrapBasicMessaging
如果未指定值,那么缺省值是 localhost
[IBM i]注: 对于 IBM i 平台,必须 (至少) 将缺省主机名从 localhost 更改为 your.server.name
port_number
如果指定了此参数,那么它是主管链路远程端的消息传递引擎的下列其中一个地址:
  • 如果未启用安全性,那么为 SIB_ENDPOINT_ADDRESS
  • 对于安全连接,如果启用了安全性,那么为 SIB_ENDPOINT_SECURE_ADDRESS

如果未指定 port_number,那么缺省值是 7276

要使用管理控制台查找其中任一值,请单击 服务器 -> 服务器类型 -> WebSphere 应用程序服务器 -> server_name -> [通信] 端口

链名称
是用来连接至引导服务器的预定义引导传输链的名称。 如果未指定此名称,那么将使用缺省值 BootstrapBasicMessaging

提供了下列预定义引导传输链:

BootstrapBasicMessaging
此传输链与服务器传输链 InboundBasicMessaging (JFAP-TCP/IP) 相对应
BootstrapSecureMessaging
此传输链与服务器传输链 InboundSecureMessaging (JFAP-SSL-TCP/IP) 相对应
BootstrapTunneledMessaging
在可以使用此引导传输链之前,必须在引导服务器上定义相应的服务器传输链。 (请参阅 服务器 -> 服务器类型 -> WebSphere 应用程序服务器 -> server_name -> [服务器消息传递] 消息传递引擎入站传输。) 此传输链将建立 JFAP 隧道并使用 HTTP 包装器。
BootstrapTunneledSecureMessaging
在可以使用此引导传输链之前,必须在引导服务器上定义相应的服务器传输链。 (请参阅服务器 -> 服务器类型 -> WebSphere 应用程序服务器 -> server_name -> [服务器消息传递] 消息传递引擎入站传输。) 此传输链将建立 JFAP 隧道并使用 HTTP 包装器。

指定 host_name : chain_name 而不是 host_name : : chain_name(带有两个冒号)是不正确的。 输入任何内容或输入以下任何内容都有效: aa:: 7276::chain等。 如果未指定值,那么会应用缺省值,但是您必须用 : 将各个字段分隔开。

如果要提供多台引导服务器,那么标识所有必需的端点地址。 请用逗号字符将各个端点地址分隔开。 例如,要使用先前示例中的服务器:
boothost1:7278:BootstrapBasicMessaging, 
  boothost2:7289:BootstrapTunneledSecureMessaging, 
  [2002:914:fc12:179:9:20:141:42]:7276:BootstrapBasicMessaging
信息
Required
数据类型 文本区域

连接邻近度

可以接受连接请求的消息传递引擎的邻近度,与引导消息传递引擎有关。

当客户机发出客户机连接请求时,将根据以下逻辑对必需的总线进行处理:
  • 如果指定了目标组,那么连接到第一个满足下列目标类型条件的消息传递引擎:
    • 服务器 在同一服务器中查找消息传递引擎。
    • 集群 在同一服务器中查找消息传递引擎,然后在同一集群中的其他服务器上进行查找。
    • 主机 在同一服务器中查找消息传递引擎,然后在同一集群中的其他服务器上进行查找,然后在同一主机中的其他服务器上进行查找。
    • 总线 在同一服务器中查找消息传递引擎,然后在同一集群中的其他服务器上进行查找,然后在同一主机中的其他服务器上进行查找,然后在同一总线中查找任何其他消息传递引擎。
  • 如果未指定目标组,或者指定了目标组,但找不到合适的消息传递引擎,并且目标显着性为 首选,请连接到满足目标类型的以下条件的第一个消息传递引擎:
    • 服务器 在同一服务器中查找消息传递引擎。
    • 集群 连接失败。
    • 主机 在同一服务器中查找消息传递引擎,然后在同一主机中的其他服务器上进行查找。
    • 总线 在同一服务器中的目标组中查找消息传递引擎,然后在同一主机中的其他服务器上进行查找,然后在同一总线中查找任何其他消息传递引擎。

有关将此属性与连接工作负载管理的其他连接工厂属性配合使用的更多信息,请参阅“与总线的 JMS 连接的管理属性”主题。

信息
Required
数据类型 下拉列表
范围
公车
可以连接至同一总线中的多个消息传递引擎。

集群
可以连接至同一服务器集群中的多个消息传递引擎。

主机
可以连接至同一主机中的多个消息传递引擎。

服务器
可以连接至同一应用程序服务器中的多个消息传递引擎。

非持久消息可靠性

适用于使用此连接工厂发送的非持久 JMS 消息的可靠性。

您可以将 JMS 应用程序发送的消息的目标的传递可靠性选项更改为非持久。 缺省值为快速非持久,但您可以选择多个其他选项,包括那些具有持久特征的选项。其中,保证持久性最可靠。 有关更多信息,请参阅“消息可靠性级别 - JMS 传送方式及服务集成服务质量”主题。
信息
Required
数据类型 下拉列表
范围
最大努力非持久
在消息传递引擎停止或失败时废弃消息。 如果用于发送消息的连接变为不可用或者系统资源不足,也可能会废弃消息。

急速非持久性
在消息传递引擎停止或失败时废弃消息。 如果用于发送消息的连接变为不可用,也可能会废弃消息。

可靠非持久性
在消息传递引擎停止或失败时废弃消息。

可靠持久性
当消息传递引擎发生故障时,可能会废弃消息。

保障持久性
消息不会遭到废弃。

作为总线目标
使用为总线目标配置的传递选项。

持久消息可靠性

适用于使用此连接工厂发送的持久 JMS 消息的可靠性。

您可以将 JMS 应用程序发送的消息的目标的传递可靠性选项更改为持久。 缺省值为可靠持久,但您可以选择多个其他选项,包括那些具有非持久特征的选项,其中最大努力非持久最不可靠。 有关更多信息,请参阅“消息可靠性级别 - JMS 传送方式及服务集成服务质量”主题。
要点: 如果将 JMS 应用程序发送的消息的传递可靠性选项从其中一个 持久消息可靠性 选项 (保证持久可靠持久) 更改为其中一个 非持久消息可靠性 选项 (最大努力非持久快速非持久可靠非持久) ,那么在某些情况下可能会丢失消息。 例如,当服务器重新启动时,或者当工作负载繁重时,就有丢失消息的风险。
信息
Required
数据类型 下拉列表
范围
最大努力非持久
在消息传递引擎停止或失败时废弃消息。 如果用于发送消息的连接变为不可用或者系统资源不足,也可能会废弃消息。

急速非持久性
在消息传递引擎停止或失败时废弃消息。 如果用于发送消息的连接变为不可用,也可能会废弃消息。

可靠非持久性
在消息传递引擎停止或失败时废弃消息。

可靠持久性
当消息传递引擎发生故障时,可能会废弃消息。

保障持久性
消息不会遭到废弃。

作为总线目标
使用为总线目标配置的传递选项。

提前读取

预先读取是优先将消息指定给使用者的优化。 这会改进满足使用者请求所花费的时间。

指定给使用者的消息被锁定在服务器上,并且不能被此目标的任何其他使用者使用。 指定给使用者但在该使用者关闭前未被使用的消息随后在服务器上被解锁,这样其他使用者就可以接收那些消息。

您可以通过在 JMS 目标上设置 Read ahead 属性来覆盖各个 JMS 目标的此属性。

信息
Required
数据类型 下拉列表
范围
缺省值
消息传递提供程序抢先将消息指定给非持久预订和非共享持久预订的使用者。 即,仅当只存在一个使用者时才启用提前读取优化功能。

已启用
消息传递提供程序抢先将消息指定给使用者。 这会改进满足使用者请求所花费的时间。

已禁用
消息传递提供程序不会抢先将消息指定给使用者。

临时队列名前缀

应用程序使用此连接工厂创建的临时队列起始处使用的前缀。

信息
Required
数据类型 字符串

按引用传递消息有效内容

发送大型对象消息或字节消息时,序列化、反序列化和复制消息有效内容的内存和处理器使用成本可能会很高。 如果在连接工厂或激活规范上启用 pass message payload by reference 属性,请告知缺省消息传递提供程序覆盖 JMS 1.1 规范,并可能减少或绕过此数据复制。

警告:
将定义这些属性所绕过的 JMS 规范的一部分,以确保消息数据完整性。 使用这些属性的任何 JMS 应用程序必须严格遵循“通过引用传递消息有效内容的原因及时间”主题中描述的规则,否则会有丢失数据完整性的风险。

使用此连接工厂发送消息的应用程序必须遵循以下规则:

  • 应用程序不会修改 JMS 对象消息中包含的数据对象。
  • 应用程序通过使用对 writeBytes(byte[]) 的单次调用来填充 JMS 字节消息,并且在消息中设置字节数组后不会对其进行修改。

启用此选项之后,设置时将不会复制使用此连接工厂连接至总线的消息生产应用程序所发送对象/字节消息的数据;并且,仅当绝对必要时,系统才会对消息数据进行序列化。 一旦将数据设置到消息中,发送这些消息的应用程序就不能修改此数据。

信息
Required
数据类型 BOOLEAN

使用此连接工厂接收消息的应用程序必须遵循以下规则:

  • 该应用程序未修改从 JMS 对象消息获取的数据对象。 该数据对象作为只读数据对象。

启用此选项之后,仅当绝对必要时,系统才会对连接到此连接工厂的消息消费应用程序接收到的对象消息数据进行序列化。 应用程序必须将从这些消息中获取的数据作为只读数据。

信息
Required
数据类型 BOOLEAN

记录缺少的事务上下文

在获取连接时缺少事务上下文的情况下,容器是否进行记录。

Java EE 编程模型指示连接应该始终具有事务上下文。 然而,某些应用程序没有与相关联的事务上下文。

如果选择此属性,那么将记录所创建的没有事务上下文的连接。

信息
Required
数据类型 BOOLEAN

管理高速缓存的句柄

是否应该由容器来跟踪高速缓存的句柄(bean 中的实例变量中保持的句柄)。

选择此选项来跟踪处理管理,对于调试很有用。 然而,如果在运行时使用,那么跟踪处理可能导致性能大幅下降。
信息
Required
数据类型 BOOLEAN

与 CMP 共享数据源

允许在 JMS 和容器管理的持久性(CMP)实体 EJB bean 之间共享连接。

此选项用作任务的一部分,以使容器管理的持久性 (CMP) 实体 Bean 能够共享消息传递引擎的数据存储器所使用的数据库连接。 估计此选项可能会将整体消息吞吐量的性能提高 15%,但只能用于连接到消息传递引擎所在应用程序服务器的实体 Bean。 不得对使用文件存储库作为其数据存储的消息传递引擎启用此选项。

有关使用此选项的更多信息,请参阅“启用 CMP 实体 bean 和消息传递引擎数据存储器以共享数据库连接”主题。

信息
Required
数据类型 BOOLEAN

XA 恢复认证别名

XA 恢复处理期间使用认证别名。

选择此别名,在事务恢复处理期间使用。

此属性提供已对 WebSphere Application Server定义的 JCA 认证数据条目别名的列表。 您可以选择在 XA 恢复处理期间用来进行认证的数据条目别名。

如果已对关联的服务集成总线启用安全性,请选择用于指定用于 XA 恢复的用户标识和密码的别名,该用户标识和密码在 WebSphere Application Server的用户注册表中有效。 如果启用了总线安全性并且将要使用 XA 事务,那么必须设置此属性。

信息
Required
数据类型 下拉列表

映射配置别名

指定此连接工厂使用的 Java 认证和授权服务 (JAAS) 映射配置的别名。

仅当组件资源引用上没有 loginConfiguration 时,才会使用此字段。 当 res-auth 值为容器时,组件资源引用上的登录配置和相关属性的规范决定了容器管理的身份验证策略。如果指定了 DefaultPrincipalMapping 登录配置,相关属性将是 JAAS - J2C 身份验证数据录入别名。 请参阅相关项 JAAS - J2C 认证数据条目以定义新的别名。

信息
Required
数据类型 下拉列表
容器管理的认证别名

此别名指定用户标识和密码,他们将在进行容器管理的认证时用于认证与 JMS 提供程序的连接。 仅在 res-auth 值是 container 并且部署应用程序时未设置认证别名的情况下才会使用此设置。

信息
Required
数据类型 下拉列表

其他属性

连接池属性
一组可选的连接池设置。