关于 WebSphere MQ 队列

Simplified Database Routing 样本中的测试输入消息以测试客户机文件的格式提供。 测试消息将放入 IN 队列中并由消息流进行检索。 SimplifiedDBRouting 消息流处理测试消息时,输出消息将放入一个或两个 OUT 队列中。 测试消息在一个或两个 OUT 队列中生成输出消息。

下表显示了根据提供的输入消息,SimplifiedDBRouting 消息流将使用哪些队列。

使用的测试客户机消息 队列 消息流如何与队列进行交互
bypassdbretrievenode.mbtest SIMPLERROUTEDB_IN 消息流从中获取输入消息的输入队列。
SIMPLERROUTEDB_SNRSTAFF DatabaseRoute 节点将未修改的输入消息放入此输出队列中,因为该输入消息的内容满足过滤表达式 ($Body/EmpRecord/AgeInYears > $M_AGEINYRS) and ($M_LASTNM = 'KWAN')
SIMPLERROUTEDB_ORDERCLOCK DatabaseRoute 节点将未修改的输入消息放入此输出队列中,因为测试客户机消息的内容满足过滤表达式 $Body/EmpRecord/YrsInService >= 10
SIMPLERROUTEDB_FAILURE 当消息流中发生处理失败时,将把未修改的输入消息放入此队列中。
bypassdbretrievenode_keynotfound.mbtest SIMPLERROUTEDB_IN 消息流从中获取输入消息的输入队列。
SIMPLERROUTEDB_KEYNOTFOUND DatabaseRoute 节点将未修改的输入消息放入此输出队列中,这表示已执行的 Select 数据库语句未能找到与查询中所提供搜索关键字相匹配的项。 在此样本中,所使用的关键字是工作部门编号,该编号在原始测试客户机消息中提供并用作完成查询语句的参数。 对于此测试客户机消息,所提供的工作部门值 E00 未作为 SROUTEDB 数据库中 DEPARTMENT 表内的任何行中任何 DEPTNUM 列的值而存在。 因此,该查询将返回空的结果集并将该消息沿着 DatabaseRoute 节点的 keyNotFound 终端向下发送。
SIMPLERROUTEDB_FAILURE 当消息流中发生处理失败时,将把未修改的输入消息放入此队列中。
usedbretrievenode.mbtest SIMPLERROUTEDB_IN 消息流从中获取输入消息的输入队列。
SIMPLERROUTEDB_SNRSTAFF DatabaseRoute 节点将已修改的输入消息放入此输出队列中,因为测试客户机消息的已修改内容满足过滤表达式 ($Body/EmpRecord/AgeInYears > $M_AGEINYRS) and ($M_LASTNM = 'KWAN')
SIMPLERROUTEDB_ORDERCLOCK DatabaseRoute 节点将已修改的输入消息放入此输出队列中,因为此测试客户机消息的已修改内容满足过滤表达式 $Body/EmpRecord/YrsInService >= 10
SIMPLERROUTEDB_FAILURE 当消息流中发生处理失败时,将把未修改的输入消息放入此队列中。
usedbretrievenode_nofiltermatch.mbtest SIMPLERROUTEDB_IN 消息流从中获取输入消息的输入队列。
SIMPLERROUTEDB_DEFAULT DatabaseRoute 节点将已修改的输入消息放入此输出队列中,因为已修改的测试客户机消息的内容都不满足该节点的过滤表达式。 注意:经理 Sally Kwan 不能比自己年长,并且尚未在公司工作满十年。
SIMPLERROUTEDB_FAILURE 当消息流中发生处理失败时,将把已修改的输入消息放入此队列中。

返回“关于 Simplified Database Routing 样本”