我正在使用带有MsSql的jBPM 5.4。
工作正常。
我有一个简单的工作流程来自START ---->任务A ---------->任务B --------> STOP
我正在尝试从Servlets访问这样的工作流程
当我执行这样的工作流程时,我可以转发到任务B的开始。
TASK 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
答案 0 :(得分:0)
在完成任务时,将ksession连接到任务服务非常重要,以便该会话可以继续执行您的过程。所以:
您是如何使用任务服务的?本地任务服务,或使用HornetQ远程?
是启动流程实例仍然有效的会话?如果没有,在完成任务之前是否实例化新会话?
创建后,你在人工任务处理程序上调用了connect()吗?这实际上将处理程序连接到任务服务并注册必要的侦听器
答案 1 :(得分:0)
由于它成功运行了第一个任务,因此在完成第一个任务后似乎可能没有持久保存更改。你使用哪个处理程序类?你能打开sql输出(在你的persistence.xml中)并检查在完成第一个任务后是否在流程实例信息类中看到了必要的更改?
克里斯