WebSphere Commerce 可以通过出站消息传递 SendReceiveImmediate(以前称作“发送/接收”)服务与其它系统交互。这允许 WebSphere Commerce 将消息发送给另一个系统并等待应答。除了 SendMsgCmd.sendReceiveImmediate() 等待来自接收其消息请求的系统的返回应答之外,其行为与 SendMsgCmd.sendImmediate() 方法类似。
注意:在管理控制台下设置‘mode’必须设置为 1。
在发送请求消息之后,WebSphere Commerce 侦听入站队列(缺省情况下是 JMSInboundQueue)并等待,直至带有与请求消息的消息标识相等的相关标识的应答消息被放置在队列中。
您应当对 SendReceiveImmediate 使用单独队列,它来自用于 WebSphere MQ 侦听器的队列。
要启用 WebSphere Commerce 以使用 SendReceiveImmediate 消息服务,请执行以下操作:
- 为用于“发送/接收”的新消息在 MSGTYPES 表中创建一个消息类型。
- 要生成出站消息,请在 VIEWREG 表中创建一个条目以将步骤 1 中创建的 VIEWNAME 与 JSP 文件关联起来。条目必须使用以下值:
- INTERFACENAME
- com.ibm.commerce.messaging.viewcommands.MessagingViewCommand
- CLASSNAME
- com.ibm.commerce.messaging.viewcommands.MessagingViewCommandImpl
- PROPERTIES
- docname=JSP filename
VIEWNAME 列中的值是用于生成要发送的消息的 VIEWNAME。
- 创建 JSP 文件以生成消息发送到出站队列。在向 VIEWREG 表添加一行时,应该已指定了此 JSP 文件名。
- 创建或定制一个使用 SendMsgCmd.sendReceiveImmediate() 模式和步骤 1 中创建的消息类型标识的命令(如果处理定制的话,仅限于任务命令)。这用于调用 SendMsgCmd 接口。
- 使用管理控制台确保指定给 SendReceiveImmediate 的传送处于活动状态,例如 WebSphere MQ 适配器。
- 使用管理控制台定义每个在步骤 1 中创建的消息类型。在方式字段中指定 1。这表是通信的 SendReceiveImmediate 方式。