【问题标题】:Testing JMS Topic Subscriber in Tibco在 Tibco 中测试 JMS 主题订阅者
【发布时间】:2016-07-05 13:38:53
【问题描述】:

我想在 Tibco Designer 中测试一个以 JMS 主题订阅者开始的流程。我将调用该过程,然后调用 JMS 主题发布器。问题是调用流程活动无法调用以 JMS 主题订阅者开头的流程。

我想要达到的目标有类似的吗?

我知道可以加载和启动两个不同的进程,但我一直在寻找更自动化的解决方案。因此,如果我启动一个进程,这将照顾并启动其他所有进程。

【问题讨论】:

  • 你能说出你想要达到的目标吗?
  • 正如我所说的那样 - 创建一个进程,该进程将用于测试另一个以 JMS 主题订阅者开头的进程。
  • 能否提供JMS 连接信息以及“JMS 主题订阅者”活动(在目标进程中)和“JMS 主题发布者”(在源/测试进程中)的配置。您必须确保您具有相同的连接并配置了正确的主题(双方)。如果有,请检查您的选择器。
  • 是的,我在两者上都使用相同的连接。问题是我无法从另一个进程的订阅者开始启动进程。

标签: testing jms tibco tibco-business-works tibco-designer


【解决方案1】:

因此,如果您想测试流程“Starter”(JMS 主题订阅者),您需要创建测试流程并在主题中推送消息。

比如我的主流程是JMS Topic Subscriber process stater,确实如你所说,这个流程不能称为子流程,因为它是流程启动器。我正在听 TOPIC_TEST

然后,如果你想测试这个过程,你可以创建一个测试过程,在主题 TOPIC_TEST 中推送消息

现在您可以运行 Test_MyProcess 来测试 MyProcess

【讨论】:

  • 假设主进程(JMS 主题订阅者进程状态器)抛出错误。如何在测试过程中捕捉到它?我想模拟一个错误来拥有不同的测试用例。
  • 您好,从“JMS 主题订阅者”进程向测试进程引发异常是没有意义的。因为根据定义,JMS 通信是异步的。测试过程将在主题中推送消息后继续执行。它不期望任何回应。 JMS 通常是一种方式,一次请求没有响应。如果要开发同步服务,我建议使用 WebService(SOAP 或 REST)。
【解决方案2】:

在 BW 2.*/5.*中,您必须预先决定您的(单一)Start 活动是普通流程启动器(您可以向其传递 XML 参数)还是特殊流程启动器,例如 JMS 订阅者、计时器或相同(在调色板中用绿色圆圈标记)。一旦您将其中任何一个拖入您的流程,您就可以将此流程从(默认)普通流程(仅从另一个流程或设计测试器调用)转换为一个特殊流程,然后可以通过相应的启动条件调用该流程,例如 JMS主题订阅者需要匹配的 JMS 主题消息才能在设计器中启动。

如果您希望“基本流程”有两个或更多启动器,您必须将启动器和基本流程分开(总共至少有 3 个流程)并在任何启动器中调用基本流程(明显的设计)。如果您想“回传”结果或错误,您可以以相同的方式进行(或使用通知、附加消息传递、数据库令牌......的任何其他进程间通信)。请考虑“设计优先”来概述您的流程结构,而不是通过“下一步我能做什么”来概括您的流程结构而不是“简单的编码风格”(无论如何都是糟糕的设计)。重新安排工艺层很笨拙、繁琐且极易出错。这就是为什么你必须每天 7x24 天带着你的大脑......

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-17
    • 2018-08-14
    • 2013-05-23
    • 2015-04-06
    • 1970-01-01
    • 2011-07-10
    • 2011-02-13
    相关资源
    最近更新 更多