2012-01-31 3 views
0

워크 플로에 사용자 작업이 있습니다. 휴먼 태스크를 처리 할 수 ​​있지만 플로우가 더 이상 전달되지 않습니다. 아무런 예외없이 그곳에서 흐름이 멈 추면 사용자 작업을 따르는 다른 작업이 실행되지 않습니다.jbpm5에서 사용자 작업 후 워크 플로가 전달되지 않습니다.

친절하게 도와주세요. 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(); 

답변

0

우리는 워크 플로가 진행하고 사용자 작업이 완료된 후 나머지 작업을 완료이와 "TaskServiceSession"

  taskSession.addUser(new User("administrator")); 

에 사용자 이름 관리자를 추가해야합니다. 프로세스를 실행하려면 관리자 역할이 있어야합니다. 요구 사항입니다.

+0

admininstrator 사용자가 이미 db에있을 때에도 필요합니까? – user325643

1

(. ksession.getWorkItemManager() registerWorkItemHandler ("휴먼 타스크", taskHandler는)) 당신은 휴먼 타스크 핸들러와 글로벌 세션이 필요합니다 휴먼 타스크 구성 요소에서 태스크 완료에 대한 통지를 수신하여 연결합니다.

건배

+0

감사합니다. krish와 salaboy.I는 문제점을 이해했지만 휴먼 타스크 핸들러가 통지를 수신하여 글로벌 ksession을 작성하는 방법을 찾는 데 여전히 우둔합니다. 몇 가지 예를 들어 보면 많은 도움이 될 것입니다. –

+0

우리는 "TaskServiceSession"에 사용자 이름 관리자를 추가 할 필요가 'taskSession.addUser (새 사용자 ("관리자")); 워크 플로가 진행하고 사용자 작업이 완료된 후 나머지 작업을 완료이와' . 하지만 그 버그 나 논리에 관리자가 있어야하는지는 의심 스럽습니다. –

+1

프로세스를 실행하려면 관리자 역할이 있어야합니다. 그것은 요구 사항입니다. – salaboy

0

당신은 당신이 작업을 완료하는 당신은 예를 들어 이클립스 또는 웹 기반 클라이언트를 사용하는 방법을 명확히 수 있을까? 그리고 프로세스를 시작한 후에 메인 클래스에서 어떤 일이 발생합니까? 그냥 종료됩니까? 이 경우 Salaboy가 맞을 것입니다. 작업을 작성하고 실행중인 스레드가 작업을 완료하기 전에 이미 죽어 버렸기 때문에 실행을 계속할 수 없기 때문입니다.

메인 클래스에 긴 Thread.sleep을 추가하면 테스트를 위해 계속 실행을 허용 할 수 있습니다.

+0

내 작업 흐름 : 시작 -> 사용자 작업 -> 스크립트 작업 -> 끝. Im Eclipse를 사용하여 실행하고 사용자가 휴먼 타스크를 완료하면 플로우가 종료됩니다. 나는 예외를 얻지 못했고 그 이상의 작업은 실행되지 않습니다. –

관련 문제