3

我在 IBM Integration Bus 中有一个消息流。

我有一些指定 UUID 的输入,我想测试该 UUID 是否有效,如果不是,我想生成一个。

在下游,如果我调用 UUIDASCHAR 之类的东西,我会得到一个 BIP2582 异常(无效的 UUID)。

DECLARE myUuid BLOB InputRoot.XMLNSC.someUUID
SET someUuidChar = UUIDASCHAR(myUuid); -- This throws exception if myUuid is invalid

我不确定如何在 esql 中解决这个问题,这是我正在寻找的逻辑类型:

if (is_valid(uuid)) then
     set output_uuid = uuid
else
     set output_uuid = generated_uuid
end if

谢谢

4

1 回答 1

3

您可以将有效性检查和 UUID 生成放在 2 个不同的 ESQL 文件中。您的第一个 ESQL 应该正常调用 UUIDASCHAR,其计算节点的故障终端应该连接到第二个 ESQL 的计算节点,从而生成一个新的 UUID。

于 2016-09-11T09:41:07.893 回答