当前位置: 首页 > 知识库问答 >
问题:

访问信号事件数据?

山乐生
2023-03-14

正如你所见,这个过程非常简单。将引发一个信号事件,并将提供给该信号事件的数据映射到IncomingData对象。在下面的脚本任务中,我向控制台写入一条消息,并尝试编写IncomingData对象的测试属性数据内容,以测试事件数据的处理。

我使用单元测试来测试我的过程:

@Test
public void testProcess() {
    RuntimeManager manager = createRuntimeManager("workflow.bpmn");
    RuntimeEngine engine = getRuntimeEngine(null);
    KieSession ksession = engine.getKieSession();

    ProcessInstance processInstance = ksession.startProcess("testing.OA");

    IncomingData dataObject = new IncomingData();
    dataObject.testProperty = "Testing data 2";
    ksession.signalEvent("StartSignalWithData", dataObject, processInstance.getId());


    // check whether the process instance has completed successfully
    assertProcessInstanceCompleted(processInstance.getId(), ksession);

    manager.disposeRuntimeEngine(engine);
    manager.close();

}

然而,我在控制台输出中得到的只是消息Script task logging null。你能解释一下我哪里错了吗?

>

这个过程的建模有问题吗?我已经创建了数据对象IncomingData,我相信它可以保存事件的数据。编辑:我还将信号输入数据映射到相应的数据对象(参见下一个屏幕截图)。这有什么问题吗?

你能给我指一下jBPM 6.1的教程吗?

提前谢谢

编辑:附言。你可以在这个链接中找到我的bpmn文件

共有2个答案

夹谷英杰
2023-03-14

在开始事件中,您还需要创建一个映射,将信号数据映射到您选择的变量。

燕靖
2023-03-14

我发现了问题。当我试图更仔细地调试时,我注意到当进程通过调用ksession启动时,进程的脚本任务就会执行。在通过k会话引发事件之前启动流程(“testing.OA”)。信号事件。在执行流程时,这自然会被leed为nullIncomingData对象。

 类似资料:
  • 事件 signals and slots 被其他人翻译成信号和槽机制,(⊙o⊙)…我这里还是不翻译好了。 所有的应用都是事件驱动的。事件大部分都是由用户的行为产生的,当然也有其他的事件产生方式,比如网络的连接,窗口管理器或者定时器等。调用应用的exec_()方法时,应用会进入主循环,主循环会监听和分发事件。 在事件模型中,有三个角色: 事件源 事件 事件目标 事件源就是发生了状态改变的对象。事件是

  • 事件 signals and slots 被其他人翻译成信号和槽机制,(⊙o⊙)… 我这里还是不翻译好了。 所有的应用都是事件驱动的。事件大部分都是由用户的行为产生的,当然也有其他的事件产生方式,比如网络的连接,窗口管理器或者定时器等。调用应用的 exec_() 方法时,应用会进入主循环,主循环会监听和分发事件。 在事件模型中,有三个角色: 事件源 事件 事件目标 事件源就是发生了状态改变的对象。

  • 这部分教程,我们探索 PyQt6 程序中的事件和信号。 PyQt6 中的事件 GUI 应用程序是事件驱动的。事件主要由应用程序的用户触发,但也可以通过其他方式生成,例如 Internet 连接、窗口管理器或定时器。当我们调用应用程序的 exec() 方法时,应用程序进入主循环。 主循环获取事件并将它们发送到对象。 在事件模型里,有三个要素: 事件源 event source 事件对象 event

  • 问题内容: 我有一个Django模型,我想在保存时或保存后修改对象权限。我已经尝试了几种解决方案,并且信号似乎是我想要做的最好的选择: 在这种情况下,当创建一个Project时,信号将触发,并且我看到,但是该字段为空列表。 保存后如何访问保存的数据? 问题答案: 你不会的 M2M是在实例保存后保存的,因此在所有m2m更新中都不会有任何记录。进一步的问题(即使你解决了这个问题)是,你仍在事务中,并且

  • 在PyGTK教程的这章中,我们将讨论信号和事件。 所有的GUI应用程序都是事件驱动,PyGTK应用程序也不列外。程序调用gtk.main()函数开始一个主循环。该循环不断地检查新产生的事件。如果没有事件,程序将等待,什么都不做。 Events(事件)是从X服务到程序之间的消息。当我们点击一个按钮部件,这个点击(clicked)信号将会被发出(be emitted)。有些信号是所有的部件都继承,例如

  • 问题内容: 我在我的项目中完成了以下post_save信号。 在operation_by列中,我想获取user_id并将其存储。知道怎么做吗? 问题答案: 不能做 当前用户只能通过请求使用,而在使用纯模型功能时则不可用。以某种方式访问​​视图中的用户。