0

我将 jBPM 5.4 与 MsSql 一起使用。

它工作正常。

我有简单的工作流程,从 START ----> TASK A ----------> TASK B --------> STOP

我正在尝试从 Servlet 访问这样的工作流程

当我执行这样的工作流程时,我可以转发到任务 B 的开始。

未调用任务 B 的onExit

因此,工作流未达到已完成状态,但任务表已更新为已完成状态,也未记录任何异常。

这是我的服务器日志,

[stdout] (http-localhost-127.0.0.1-8080-1) ****** Creating EMF

[stdout] (http-localhost-127.0.0.1-8080-1) ****** Creating env

[stdout] (http-localhost-127.0.0.1-8080-1) ****** Reading Properties

[stdout] (http-localhost-127.0.0.1-8080-1) ****** config section

[stdout] (http-localhost-127.0.0.1-8080-1) OnEntrying the First Task ***

[stdout] (http-localhost-127.0.0.1-8080-1) Started Process Output 14

[stdout] (http-localhost-127.0.0.1-8080-1) Completed Process Output 14

[stdout] (Thread-73) OnExiting the First Task ***

[stdout] (Thread-73) OnEntrying the Second Task ***

[stdout] (http-localhost-127.0.0.1-8080-1) Started Process Output 15

[stdout] (http-localhost-127.0.0.1-8080-1) Completed Process Output 15
4

2 回答 2

0

由于它已成功运行第一个任务,因此在第一个任务完成后它似乎可能不会保留更改。您正在使用哪个处理程序类?您能否打开 sql 输出(在您的 persistence.xml 中)并检查在完成第一个任务后是否在流程实例信息类中看到了必要的更改?

克里斯

于 2013-02-25T23:03:59.277 回答
0

当您完成任务时,让 ksession 连接到您的任务服务非常重要,以便该会话可以继续执行您的流程。所以:

  • 您如何使用任务服务?本地任务服务,还是远程使用 HornetQ?

  • 启动流程实例的会话是否仍处于活动状态?或者如果没有,您是否在完成任务之前实例化一个新会话?

  • 创建人工任务处理程序后,您是否在其上调用了 connect()?这实际上将处理程序连接到任务服务并注册必要的侦听器

于 2013-02-24T10:59:47.373 回答