Activiti 는 어떻게 프로 세 스 를 시작 하고 프로 세 스 를 전진 시 킵 니까?
다음은 간단 한 휴가 신청 절차 도 입 니 다.그 중 하 나 는 시작 사건,두 사용자 작업,하 나 는 끝 사건 입 니 다.
프로 세 스 를 시작 하면 activiti 는 첫 번 째 프로 세 스 노드 의 사용자 작업 을 자동 으로 만 들 고 첫 번 째 사용자 작업 프로 세 스 를 완성 하면 다음 프로 세 스 노드 로 전진 하여 두 번 째 노드 의 프로 세 스 작업 을 만 들 고 첫 번 째 프로 세 스 작업 을 삭제 합 니 다.
2.오픈 절차
activiti 는 프로 세 스 가 실 행 될 때 프로 세 스 인 스 턴 스 를 관리 하고 제어 하 는 Runtime Service 서비스 구성 요 소 를 제공 합 니 다.프로 세 스 를 시작 하려 면 api 를 사용 해 야 합 니 다.
2.1 프로 세 스에 따라 키 오픈 프로 세 스 정의
지난 블 로그 에 서 는 프로 세 스 배치 가 성공 하면 정보 표 act 를 배치 할 것 이 라 고 말 했다.re_deployment 와 프로 세 스 정의 표 actre_procdef 에 기록 을 삽입 합 니 다.프로 세 스 정의 key 는 actre_procdef 표 의 KEY필드 의 값.
표 에 KEY 가 있 을 때필드 가 같은 기록 일 때 activiti 는 버 전 번호 VERSION 을 선택 합 니 다.최신 프로 세 스 정의 기록 으로 프로 세 스 를 엽 니 다.
/**
* , key ,
* key,activiti VERSION_
*/
@Test
public void test1() {
String processDefinitionKey="process";
// ,
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(processDefinitionKey);
System.out.println(processInstance);
}
activiti 는 프로 세 스 인 스 턴 스 라 는 인터페이스 로 프로 세 스 를 시작 한 후 얻 은 프로 세 스 인 스 턴 스 를 설명 합 니 다.3.사용자 퀘 스 트 조회
처음에 프로 세 스 를 시작 하면 첫 번 째 프로 세 스 노드 를 만 드 는 사용자 작업 이 라 고 말 했 기 때문에 activiti 가 제공 하 는 다른 서비스 구성 요소 인 TaskService 를 사용 하여 사용자 작업 을 조회 할 수 있 습 니 다.TaskService 에 서 는 작업 처리 와 관련 된 api 를 제공 합 니 다.
3.1 TaskQuery
activiti 는 이 인 터 페 이 스 를 제공 하여 작업 조회 와 관련 된 api 를 패키지 합 니 다.TaskService 를 통 해 구현 대상 을 가 져 올 수 있 습 니 다.
TaskQuery taskQuery = taskService.createTaskQuery();
그 다음 에 taskQuery 라 는 조회 대상 의 사용 은 activiti 의 다른 조회 대상 과 유사 하 므 로 먼저 조회 조건 을 지정 한 다음 에 조 회 를 실행 합 니 다.여기 서 나 는 임무 의 대리인 에 따라 조 회 를 진행 하 는데,하나의 임 무 는 단지 한 명의 대리인 만 있 을 수 있다.
/**
*
*/
@Test
public void test2() {
// ,
Task task = taskService.createTaskQuery().taskAssignee("tom").singleResult();
System.out.println(task);
}
activiti 는 Task 로 퀘 스 트 대상 을 봉 합 니 다.대응 하 는 것 은 act 입 니 다.ru_task 이 표 의 기록.작업 을 만 든 후 이 표 에 기록 을 삽입 합 니 다.4.임 무 를 완성 하 다
taskService 의 방법 으로 현재 작업 을 완성 하고 프로 세 스 를 다음 노드 로 이동 시 킬 수 있 습 니 다.퀘 스 트 완성 시 주어진 퀘 스 트 id 즉 actru_task 표 의 메 인 키 id 이기 때문에 작업 을 완성 할 때 검색 방법 을 통 해 주어진 조건 을 통 해 작업 대상 을 조회 한 다음 에 이 작업 을 완성 할 수 있 습 니 다.
/**
* , ,
*/
@Test
public void test3() {
String taskId="4502";
taskService.complete(taskId);
}
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
activiti 처리 오류activiti5.22.0, 작업 중 오류, taskService.complete(taskId); 오류 정보: [11-21 14:45:52] ERROR CommandContext [main]: Error while ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.