JBPM 초기 시험, 이상 은 다음 과 같 습 니 다 org. jbpm. Jbpm 예외: task node does not leaving transition 'r

1925 단어 xml일 하 다jbpm
org.jbpm.JbpmException: task node does not have leaving transition 'reject'
이유: 'reject' 라 는 transition 을 찾 지 못 했 습 니 다. 하지만 processdefinition. xml 파일 에 이 transition 이 있 습 니 다.
<transition name="reject" to="d1">
<action class="com.xxx.xxx.xxx" />
</transition> 

왜 일 까요?
프로 세 스 definition. xml 을 처음 만 들 었 을 때 이 transition 은 중국어 name = "거부" 였 습 니 다. 그리고 이 워 크 플 로 를 데이터베이스 에 발 표 했 습 니 다. 데이터베이스 시트 를 찾 았 기 때 문 입 니 다: jbpmtransition 에서 name 이 예전 의 "거부" 라 는 것 을 발 견 했 습 니 다. 어쩐지 transition "reject" 를 찾 을 수 없다 는 것 을 알 렸 습 니 다. 데이터베이스 에 name = reject 의 transition 이 전혀 없 기 때 문 입 니 다.
그래서 저 는 새로운 processdefinition. xml 로 데이터베이스 에 워 크 플 로 를 다시 발 표 했 습 니 다. 다시 실행 하 시 겠 습 니까? 아니면 같은 실 수 를 하 시 겠 습 니까?
이번에 나 는 코드 를 다시 보고 임 무 를 처리 하 는 코드 를 발견 했다.
List<TaskInstance> list = context.getTaskList(actorId);
for(TaskInstance ti : list ){
if(pas){
ti.end("approve");
}else{
ti.end("reject");
}
} 

문제 가 있 으 면 < TaskInstance > list = context. getTaskList (actorId) 를 다시 나열 합 니 다.
이 한 마디, 데이터 베 이 스 를 찾 아 보 니 jbpmtaskinstance 표 에서 actorId 에 배 치 된 것 이 고 isopen = '1' 은 4 가지 가 있 습 니 다. 이것 은 제 가 지난번 에 잘못 보고 한 프로그램 이 4 번 실 행 했 기 때 문 입 니 다. 매번 절차 가 멈 추고 이 노드 가 내 려 가지 않 았 기 때 문 입 니 다. 여러 가지 가 있 기 때문에 첫 번 째 대응 하 는 임 무 를 찾 으 면 대응 하 는 name = 'reject' 의 transition 이 없 을 수 있 습 니 다. 여 기 는 순환 이 있 습 니 다. 모든 기록 은 ti. end ("approve") 가 한 번 씩 옵 니 다.또는 ti. end ("reject");그래서 똑 같은 실 수 를 하 게 됩 니 다. jbpm 을...taskinstance 표 에서 찾 으 려 는 actorId 기록 에 분 배 된 모든 isopen 은 '0' 으로 바 뀌 었 습 니 다.
다시 실행, 정확, 문제 해결.
PS: 저도 처음으로 JBPM 을 운영 하 는데 이 잘못 을 발 견 했 습 니 다. 인터넷 에서 답 을 찾 았 습 니 다. 문제 만 보고 답 을 보지 못 했 습 니 다. 그래서 자신의 해결 방법 을 써 서 다른 사람 에 게 도움 이 되 었 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기