MQHasMessage() 函数

MQHasMessage() 函数检查 WMQ 是否提供了消息。

语法

service_name
可选参数。引用 "gbasedbt".mqiservice 表的 servicename 列中的值。如果不指定 service_name,将把 IDS.DEFAULT.SERVICE 用作服务。service_name 的最大大小为 48 个字节。
policy_name
可选参数。引用 "gbasedbt".mqipolicy 表的 policyname 列中的值。如果不指定 policy_name,将把 IDS.DEFAULT.POLICY 用作策略。policy_name 的最大大小为 48 个字节。
correl_id
可选参数。一个字符串,其中包含要与此消息关联的相关标识。通常在请求与回复场景中指定 correl_id,以便将请求与回复关联。correl_id 的最大大小为 24 个字节。如果不指定,将不向消息添加任何相关标识。

用途

通过使用此函数和其他 MQ 函数来编写定制过程并按指定的时间间隔在调度程序中运行这些过程,您可以模拟事件处理。

下表描述了 MQHasMessage() 函数自变量的解释方式。
表 1. MQHasMessage() 自变量解释
用途 自变量解释
MQHasMessage() 无自变量
MQHasMessage(arg1) arg1 = service_name
MQHasMessage(arg1, arg2) arg1 = service_name

arg2 = policy_name

MQHasMessage(arg1, arg2, arg3) arg1 = service_name

arg2 = policy_name

arg3 = correl_id

返回码

1
存在一条或多条消息。
0
无可用消息。
错误
操作失败。

示例

以下示例使用以下参数读取消息:
  • service_name:“MYSERVICE”
  • policy_name:“MYPOLICY”
  • correl_id:“TESTS”
begin;
EXECUTE FUNCTION MQHasMessage('MYSERVICE','MYPOLICY', 'TESTS');
commit;