Flowable 6.6.0 BPMN 사용자 가이드 - 17 고급 용례 - 17.7 고급 조회 API: 실행 시 와 과거 작업 조회 사이 의 틈새 없 는 전환

《 Flowable 6.6.0 BPMN 사용자 매 뉴 얼 》
1. 입문
2. 설정
3 The Flowable API
4 Flowable 6.6.0 BPMN 사용자 가이드 - (4) Spring 집성
5 Spring Boot
6 배치
7 BPMN 2.0 안내
8 BPMN 2.0 의 구조
9 양식 (양식)
10 프로 세 스 인 스 턴 스 이전
11 JPA
12 역사 (역사)
13 신분 관리 (ID 관리)
14 REST API
15 CDI 통합
16 LDAP 통합
17 고급 용례
  • 17.1 비동기 실행 기 (Async Executor)
  • 17.1.1 비동기 실행 기 디자인 (Async Executor design)
  • 17.1.2 비동기 실행 기 설정
  • 17.1.3 비동기 실행 기 기반 메시지 큐
  • 17.2 프로 세 스 분석 연결 (Hooking into process parsing)
  • 17.3 동시 다발 UUID ID 생 성기
  • 17.4 다 세대 (Multitenancy)
  • 17.5 사용자 정의 SQL 실행 (사용자 정의 SQL 실행)
  • 17.6 ProcessEngineConfigurator 를 이용 하여 고급 프로 세 스 엔진 설정
  • 17.7 고급 조회 API: 실행 시 와 과거 작업 조회 사이 의 틈새 없 는 전환
  • 17.8 재 작성 기준 Session Factory 사용자 정의 신분 관리 실현
  • 17.9 안전 한 BPMN 2.0 xml
  • 사용 하기
  • 17.10 이벤트 로그 기록 (이벤트 로 깅)
  • 17.11 대량 삽입 금지 (Disabling bulk inserts)
  • 17.12 보안 스 크 립 트 (Secure Scripting)
  • 17.13 로그 기록 세 션 [실험 성]
  • Flowable 에 관 한 더 많은 문서, 참조:
    《 Flowable 문서 대전 》
    17.7 고급 조회 API: 실행 시 와 과거 작업 조회 사이 의 틈새 없 는 전환
    One core component of any BPM user interface is the task list. Typically, end users work on open, runtime tasks, filtering their inbox with various setting. Often also the historic tasks need to be displayed in those lists, with similar filtering. To make that code-wise easier, the TaskQuery and HistoricTaskInstanceQuery both have a shared parent interface, which contains all common operations (and most of the operations are common).
    This common interface is the org.flowable.engine.task.TaskInfoQuery class. Both org.flowable.engine.task.Task and org.flowable.engine.task.HistoricTaskInstance have a common superclass org.flowable.engine.task.TaskInfo (with common properties) which is returned from e.g. the list() method. However, Java generics are sometimes more harming than helping: if you want to use the TaskInfoQuery type directly, it would look like this: TaskInfoQuery extends TaskInfoQuery,?>, ? extends TaskInfo> taskInfoQuery Ugh, Right. To ‘solve’ this, a org.flowable.engine.task.TaskInfoQueryWrapper class that can be used to avoid the generics (the following code could come from REST code that returns a task list where the user can switch between open and completed tasks):
    모든 BPM 사용자 인터페이스의 핵심 구성 요 소 는 작업 목록 입 니 다.일반적으로 최종 사용자 가 열 린 실행 시 작업 을 처리 하고 각종 설정 을 사용 하여 수신 함 을 걸 러 냅 니 다.보통 과거 기록 작업 도 비슷 한 필 터 를 통 해 목록 에 표시 해 야 합 니 다.코드 를 더욱 간단하게 하기 위해 TaskQuery 와 Historic Task Instance Query 는 공 유 된 부모 인 터 페 이 스 를 가지 고 있 습 니 다. 그 중에서 모든 일반적인 작업 (대부분의 작업 은 통용 되 는 것) 을 포함 합 니 다.
    이 공공 인 터 페 이 스 는 org. flowable. engine. task. Task InfoQuery 류 입 니 다.org. flowable. engine. task. Task 와 org. flowable. engine. task. Historic Task Instance 는 모두 공 통 된 초 류 org. flowable. engine. task. Task Info (공공 속성 이 있 음) 를 가지 고 있 으 며, list () 와 유사 한 방법 으로 되 돌 아 옵 니 다.그러나 자바 범 형 은 장단 점 이 이익 보다 큽 니 다. TaskInfoQuery 유형 을 직접 사용 하려 면 다음 과 같 아야 합 니 다.
    TaskInfoQuery extends TaskInfoQuery,?>, ? extends TaskInfo > taskInfoQuery 는 이 문 제 를 해결 하기 위해 org. flowable. engine. task. TaskInfoQuery Wrapper 류 를 사용 하여 범 형 을 피 할 수 있 습 니 다 (아래 코드 는 REST 코드 에서 나 올 수 있 습 니 다. 이 코드 는 작업 목록 으로 돌아 갑 니 다. 사용 자 는 열 린 작업 과 완 료 된 작업 사이 에서 전환 할 수 있 습 니 다).
    TaskInfoQueryWrapper taskInfoQueryWrapper = null;
    if (runtimeQuery) {
         
        taskInfoQueryWrapper = new TaskInfoQueryWrapper(taskService.createTaskQuery());
    } else {
         
        taskInfoQueryWrapper = new TaskInfoQueryWrapper(historyService.createHistoricTaskInstanceQuery());
    }
    
    List<? extends TaskInfo> taskInfos = taskInfoQueryWrapper.getTaskInfoQuery().or()
        .taskNameLike("%k1%")
        .taskDueAfter(new Date(now.getTime() + (3 * 24L * 60L * 60L * 1000L)))
    .endOr()
    .list();
    
    

    좋은 웹페이지 즐겨찾기