Java jbpm5中用户任务后工作流未转发

Java jbpm5中用户任务后工作流未转发,java,mysql,drools,jbpm,Java,Mysql,Drools,Jbpm,我在工作流中有一个用户任务。 我能够处理人工任务,但流程无法进一步转发。 毫无例外,流程在此停止,用户任务之后的其他任务不会得到执行 请在这方面帮助我。 1.jbpm5.0是否需要任何配置更改。 2.还有什么我遗漏的吗 KnowledgeBase kbase = readKnowledgeBase("taskprocess.rf"); StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);

我在工作流中有一个用户任务。 我能够处理人工任务,但流程无法进一步转发。 毫无例外,流程在此停止,用户任务之后的其他任务不会得到执行

请在这方面帮助我。 1.jbpm5.0是否需要任何配置更改。 2.还有什么我遗漏的吗

      KnowledgeBase kbase = readKnowledgeBase("taskprocess.rf");
        StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);

        /*Create the knowledge base for HelloProcss.bpmn */

        KnowledgeRuntimeLogger logger = KnowledgeRuntimeLoggerFactory.newThreadedFileLogger(ksession, "testlog", 1000);
        CommandBasedWSHumanTaskHandler taskHandler = new CommandBasedWSHumanTaskHandler(ksession);
        ksession.getWorkItemManager().registerWorkItemHandler("Human Task", taskHandler);
        //JPAWorkingMemoryDbLogger logger = new JPAWorkingMemoryDbLogger(ksession);
        //taskHandler.connect();

        System.out.println(" started the humantask");
        ksession.startProcess("persistask");    
        ksession.fireAllRules();

这是因为注册人工任务处理程序的线程已死亡(ksession.getWorkItemManager().registerWorkItemHandler(“人工任务”,taskHandler);) 您需要有一个全局会话,其中附加了人工任务处理程序,用于侦听人工任务组件以获取有关任务完成的通知


干杯

您能否澄清一下您是如何完成任务的,例如您使用的是Eclipse还是基于web的客户端?在启动进程之后,主类中发生了什么,它只是终止了吗?在这种情况下,Salaboy可能是正确的,因为创建任务并执行进程的线程可能在您完成任务之前已经死亡,因此它将不会继续执行


在主类中添加长Thread.sleep可能会允许您继续执行测试。

我们需要在“TaskServiceSession”中添加用户名administrator

在完成用户任务后,工作流将继续并完成其余任务。
您必须具有管理员角色才能运行任何进程。这是一项要求

谢谢krish和salaboy。我理解这个问题,但仍然不知道如何通过人工任务处理程序监听通知来创建全局ksession。如果我能得到一些示例,那将非常有帮助。我们需要在“TaskServiceSession”
taskSession.addUser(新用户(“管理员”))中添加用户名administrator
通过此操作,工作流将继续并在用户任务完成后完成剩余任务。但我怀疑这是一个bug还是必须有一个管理员的逻辑。你必须有管理员角色才能运行任何进程。这是一个要求,太好了。但是请在文档中澄清,这样其他人就不会像我一样花太多时间来解决问题。ThanksjBPM5是一个社区项目,您可以帮助我们改进文档。我的工作流:开始-->用户任务-->脚本任务-->结束。我正在使用eclipse来运行它,一旦用户完成人工任务,流就会在那里终止。我没有得到任何异常,并且没有执行进一步的任务。即使管理员用户已经存在于数据库中,也需要这样做吗?
         taskSession.addUser(new User("administrator"));