使用 JMSOutput 节点可以将消息发送到 JMS 目标。JMSOutput 节点充当 JMS 消息的生产者,并且可以发布在 Java 消息服务规范 V1.1 中定义的所有六种类型的消息。消息通过使用方法调用发布,这在 JMS 规范中有所描述。
JMSOutput 节点在工作台中由以下图标表示:
处理从 JMS 提供程序的连接接收到的消息的消息流必须始终以 JMSInput 节点开始。如果您在消息流中包含 JMSOutput 节点,则不需要包含 JMSInput 节点,但是如果您不包含 JMSInput 节点,则必须包含 MQJMSTransform 节点以将消息转换为 JMSOutput 节点所需的格式。
如果您正在传播 JMS 消息并且正在创建要用作子流的消息流,则为了创建该子流的 out 终端,必须使用 JMSOutput 节点的实例作为最后一个节点。
对于分布式系统,将 JMS 提供程序客户机的 Java .jar 文件和任何本机库复制到代理共享类目录中。 例如,在 Windows 上,该目录是 C:\Documents and Settings\All Users\Application Data\IBM\MQSI\shared-classes。 这可确保正确设置 JMS 节点的 Java 类路径。
queue://QM_mn2/myJMSQueue4在这种情况下,此值是 WMQSeries JMS 提供程序的 JMS 目标的 JMS 提供程序的特定说明。
jndi:\\jmsQ4其中 jmsQ4 是 JNDI 受管对象的名称。
由于要在 JNDI 中查找受管对象,因此使用此方法会有少许的性能开销。
如果要允许 JMSOutput 节点能够自动在外发消息中设置 JMSReplyTo 属性,则将应答目标属性保留为空白,并使用 Compute 节点或 JavaCompute 节点在 MbMessage 中设置 JMSReplyTo 值。
节点解析 JNDI 受管对象的名称,该名称在发布主题或目标队列中提供,并将消息发送到该 JMS 目标。
当您将 JMSOutput 节点的实例放入消息流后,便可以通过在编辑器视图中右键单击该节点,然后单击属性来配置它。将在属性对话框中显示节点的基本属性。
所有未定义缺省值的必需属性在该“属性”对话框上都用星号进行标记。
按如下所示,配置 JMSOutput 节点:
com.sun.jndi.fscontext.RefFSContextFactory,它定义了 WebSphere MQ JMS 提供程序的基于文件的初始上下文工厂。
要标识 JMS 提供程序的初始上下文工厂名称,请参阅 JMS 提供程序文档。
在您为位置 JNDI 绑定输入某个值时,确保它符合以下指示信息:
有关构造 JNDI 所管理的对象绑定文件的信息,请参阅 JMS 提供程序随附的文档。
缺省值为空白,在这种情况下,可以将 JMS 输出消息作为数据报对待。如果该字段为空白,JMSOutput 节点将不会接收到来自接收 JMS 客户机的应答。
以毫秒为单位输入一个值,以指定 JMS 提供程序将消息保留多长时间。使用缺省值 0 表示消息不会过期。
输入一个值,其中消息优先级的有效值为从 0(最低)到 9(最高)。缺省值为 4,表示中等优先级。0 到 4 范围内的优先级与常规传递相关。5 到 9 范围内的优先级与快速传递相关。
有关更多详细信息,请参阅验证消息和MRM 域中消息的验证属性。
单击取消以关闭对话框并废弃对属性所作的所有更改。
将 JMSOutput 节点的 in 终端连接到出站消息经过的节点。
如果要进一步处理消息、处理错误或将消息发送到其他目标,请将 JMSOutput 节点的 out 终端连接到消息流中的另一个节点。
在消息流中包含 JMSOutput 节点后,您为事务方式设置的值将定义是否在同步点下发送消息。
JMS 提供程序可以提供事务支持所需的其他 JAR 文件。请参阅 JMS 提供程序文档。例如,在分布式系统上,WebSphere MQ JMS 提供程序提供其他的 jar 文件 com.ibm,mqetclient.jar,必须也将它添加到代理共享类目录中。请参阅本主题中的使 JMS 提供程序客户机可由 JMS 节点使用。
install_dir/bin/ JMSSwitch.dll XAOpenString=Initial Context,location JNDI,Optional_parms ThreadOfControl=THREAD
XAResourceManager: Name=Jms_Provider_Name SwitchFile=/install_dir/bin/ JMSSwitch.so XAOpenString=Initial Context,location JNDI,Optional_parms ThreadOfControl=THREAD其中
Name 是安装定义的名称,用于标识 JMS 提供程序资源管理器。
SwitchFile 是指向 JMSSwitch 库的文件系统路径,该库位于代理的 bin 目录中。
可选参数以逗号分隔且位置固定。因此,任何缺少的参数必须以逗号表示。
<Broker Installation Path>/classes/xarecovery.jar
<Broker Installation Path>/bin
在使用 WebSphere MQ V5.3、CSD12 和 WebSphere MQ V6.0 修订包 1 之前,XA 无法对代理和提供程序使用相同的队列管理器。
JMS 提供程序的同步点控制采用代理队列管理器的 RRS 同步点协调进行管理。您无需修改 .ini 文件。
下表中描述了 JMSOutput 节点的终端。
终端 | 描述 |
---|---|
Failure | 如果发生错误,则这是消息路由到的输出终端。即使设置了“验证”属性,也不验证传播到此终端的消息。 |
Out | 如果从 WebSphere MQ 队列成功检索到消息,则这就是消息路由到的输出终端。 |
Catch | 如果下游抛出异常并由此节点捕获,则这是消息路由到的输出终端。 |
下表描述该节点的属性;标题为 M 的列表示属性是否是必需的(如果在未定义缺省值时必须输入值,则在属性对话框上以星号作标记),标题为 C 的列表示属性是否是可配置的(将消息流添加到 BAR 文件以部署此文件时可以更改该值)。
下表中描述了 JMSOutput 节点的基本属性。
属性 | M | C | 缺省值 | 描述 |
---|---|---|---|---|
初始上下文工厂 | 是 | com.sun.jndi.fscontext.RefFSContextFactory | 这是 JNDI 名称空间的起点。JMS 应用程序使用初始上下文获取并查找连接工厂以及 JMS 提供程序的队列或主题对象。 缺省值为 WebSphere MQ Java 用作 JMS 提供程序时所用的值。 |
|
位置 JNDI 绑定 | 否 | 绑定文件的系统路径或 LDAP 位置。 | ||
连接工厂名称 | 否 | JMSOutput 节点用来创建到 JMS 提供程序连接的连接工厂名称。 |
下表中描述了 JMSOutput 节点的发布/预订属性。
属性 | M | C | 缺省值 | 描述 |
---|---|---|---|---|
发布程序主题 | 否 | 节点从中接收已发布消息的主题名称。 |
下表中描述了 JMSOutput 节点的点到点属性。
属性 | M | C | 缺省值 | 描述 |
---|---|---|---|---|
目标队列 | 否 | 节点向其发布出局消息的队列的名称。 |
下表中描述了 JMSOutput 节点的请求属性。
属性 | M | C | 缺省值 | 描述 |
---|---|---|---|---|
目的地方式 | 否 | 目标名称 | 此属性用来确定是将消息作为数据报请求对待,还是作为应答对待。 | |
应答目标 | 否 | 此值是接收应用程序应该向其发送应答消息的 JMS 目标。对于要返回至该 JMS 目标的应答消息,JMS 目标名称必须被接收客户机使用的 JMS 提供程序的域知道。 |
下表中描述了 JMSOutput 节点的高级属性。
属性 | M | C | 缺省值 | 描述 |
---|---|---|---|---|
新建相关标识 | 否 | 如果需要新建相关标识,则选择该属性。 | ||
事务方式 | 是 | 否 | 无 | 此属性用来确定是否在同步点下接收入局消息。有效值为无、本地和全局。 |
传递方式 | 否 | 非持久 | 将根据消息传递方式过滤消息的消息选择器。 | |
消息到期 | 否 | 0 | 此属性值用来请求 JMS 提供程序将输出 JMS 消息保留指定的时间。 这些值以毫秒为单位,缺省值 0 用来表示消息不会过期。 |
|
消息优先级 | 否 | 4 | 此属性值指定消息的相对重要性。该值可用于通过接收 JMS 客户机应用程序或 JMSOutput 节点选择消息。 |
下表中描述了 JMSOutput 节点的验证属性。
请参阅MRM 域中消息的验证属性,以获取这些属性的完整描述。属性 | M | C | 缺省值 | 描述 |
---|---|---|---|---|
验证 | 是 | 是 | 无 | 此属性确定验证是否发生。有效值为无、内容和内容和值。 |
故障操作 | 是 | 否 | 异常 | 该属性确定验证失败时会出现的情况。只有将验证设置为内容或内容和值,才可以设置该属性。有效值为用户跟踪、本地错误日志、异常和异常列表。 |
包含所有值约束 | 是 | 否 | 选中 | 无法编辑此属性。所选的复选框指出的缺省操作,即内容和值验证中包含的基本值约束检查。 |
修改 | 是 | 否 | 无 | 无法编辑此属性。 |
下表中描述了 JMSOutput 节点的描述属性。
属性 | M | C | 缺省值 | 描述 |
---|---|---|---|---|
简短描述 | 否 | 否 | 节点的简要描述。 | |
详细描述 | 否 | 否 | 描述消息流中节点用途的文本。 |