springBoot 구축 activiti 워 크 플 로
16047 단어 자바
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0modelVersion>
<groupId>com.jerrylgroupId>
<artifactId>spring-boot-with-activitiartifactId>
<version>0.0.1-SNAPSHOTversion>
<packaging>jarpackaging>
<name>spring-boot-with-activitiname>
<description>Demo project for Spring Bootdescription>
<parent>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-parentartifactId>
<version>1.5.2.RELEASEversion>
<relativePath/>
parent>
<properties>
<project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8project.reporting.outputEncoding>
<java.version>1.8java.version>
<activiti.version>5.18.0activiti.version>
properties>
<dependencies>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-webartifactId>
dependency>
<dependency>
<groupId>mysqlgroupId>
<artifactId>mysql-connector-javaartifactId>
<scope>runtimescope>
dependency>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-testartifactId>
<scope>testscope>
dependency>
<dependency>
<groupId>org.activitigroupId>
<artifactId>activiti-engineartifactId>
<version>${activiti.version}version>
dependency>
<dependency>
<groupId>org.activitigroupId>
<artifactId>activiti-springartifactId>
<version>${activiti.version}version>
dependency>
<dependency>
<groupId>org.activitigroupId>
<artifactId>activiti-modelerartifactId>
<version>${activiti.version}version>
dependency>
<dependency>
<groupId>org.activitigroupId>
<artifactId>activiti-diagram-restartifactId>
<version>${activiti.version}version>
dependency>
dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-maven-pluginartifactId>
plugin>
plugins>
build>
project>
3. 새 springboot 설정 파일
server:
port: 8080
security:
basic:
enabled: false
spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/zhou?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
username: root
password: 123456
4. 새 spring 의 시작 파일
package com.jerryl;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
@SpringBootApplication
@ComponentScan
public class SpringBootWithActivitiApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootWithActivitiApplication.class, args);
}
}
5. springboot 를 시작 합 니 다. 데이터베이스 에 activiti 표 가 나타 나 면 구축 이 완료 되 었 음 을 설명 합 니 다.원본 으로 댓 글 달 고 싶 은 데...
activiti: activiti 는 BPM 의 프레임 워 크 이 고 processEngine 은 activiti 의 핵심 이 며 절차 가 생 성 된 각종 데이터 와 사례, 모니터링 과 관리 절 차 를 책임 집 니 다.activiti 기본 동작 은 데이터베이스 입 니 다. my batis 입 니 다.주: 워 크 플 로 activiti 의 표 는 관리 절차 이 고 업무 의 데 이 터 는 사용자 가 직접 만 들 고 유지 해 야 합 니 다.activiti 의 7 개 서비스 Runtime Service: 주로 절차 인 스 턴 스 와 관련 되 고 절차 정 의 는 디자인 의 절 차 를 말 합 니 다. 절차 인 스 턴 스 는 진정한 사건 을 말 합 니 다. 예 를 들 어 휴가 신청 절 차 는 디자인 의 절차 이 고 샤 오 밍 이 휴가 를 내 는 것 은 구체 적 인 절차 인 스 턴 스 입 니 다.이 서 비 스 는 하나의 프로 세 스 를 시작 하고 하나의 프로 세 스 인 스 턴 스 를 중단 하거나 활성화 하 며 신호 이벤트 트리거, 메시지 시간 트리거 (이 는 시작 프로 세 스 의 조건 과 관련 이 있 음), 변 수 를 설정 하고 이벤트 감청 등 일련의 스 트림 인 스 턴 스 와 관련 된 작업 을 만 들 수 있 습 니 다.History Service: 주로 프로 세 스 의 실행 기록 을 조회 하 는 데 사 용 됩 니 다. 조회 와 삭제 작업 만 있 고 추가 와 수정 이 없습니다.주로 활동 인 스 턴 스, 디 테 일, 프로 세 스 인 스 턴 스, 변수 인 스 턴 스 와 작업 인 스 턴 스 를 조회 하고 데이터베이스 에 해당 하 는 표를 조회 합 니 다.Identity Service: 주로 사용자 와 사용자 그룹 을 제어 하 는 데 사 용 됩 니 다. 프로 세 스 엔진 자체 가 사용자 제한 이 없 으 므 로 사용자 작업 을 할 때 사용자 가 완성 하도록 지정 할 수 있 습 니 다. 이것 은 필수 가 아 닙 니 다.이 서 비 스 는 사용자 와 사용자 그룹의 생 성, 저장, 삭제, 그리고 이들 의 관계, 사용자 의 상세 한 정보 생 성 등 을 포함한다.TaskService: 주로 절차 중의 작업 노드 와 관련 된 작업 에 사 용 됩 니 다. BPMN 은 실제 적 으로 여러 가지 유형의 작업 이 있 습 니 다. 사용자 작업 뿐만 아니 라 이 설정 은 주로 사용자 작업 과 관련 된 설정 입 니 다. 다른 유형의 작업 은 많은 설정 이 필요 하지 않 습 니 다. 대부분 자동 유형의 작업 이 므 로 해당 하 는 트리거 조건 이 필요 합 니 다.FormService: 주로 폼 데이터 의 저장 과 가 져 오기 에 사 용 됩 니 다. 시작 프로 세 스 의 폼 과 작업 과정 에서 발생 하 는 폼 이 있 습 니 다.Management Service: 이 서비스 기능 은 비교적 복잡 합 니 다. 안에 있 는 방법 을 보면 대체적으로 이러한 기능 이 있 습 니 다. 데이터베이스 시트 의 관련 정 보 를 조회 하고 Job 과 관련 된 조회, 삭제 합 니 다.이벤트 로그 작업 도 있 습 니 다.전체적으로 말 하면 activiti 의 전체적인 작업 입 니 다.DynamicBpmnService: 이 서 비 스 는 5.19 버 전 이후 추 가 된 서비스 로 Repository Service 의 역할 과 비슷 하 며 모두 절차 정의 와 관련 이 있 지만 완전히 다르다.이름 으로 볼 때 동태 적 인 BPMN 서비스 이 고 그 안의 방법 은 모두 절 차 를 바 꾸 는 관련 속성 이다.이 방법 은 모델 을 읽 지 않 고 프로 세 스 정 의 를 직접 조작 할 수 있 습 니 다.(하나의 절 차 는 기본적으로 모델 을 만 들 고 그림 을 디자인 하 며 BPMN 의 XML 파일 을 생산 하고 절차 정의 로 배치 해 야 한다. 이 서 비 스 는 절차 정 의 를 직접 조작 할 수 있 고 원래 의 파일 을 바 꾸 지 않 으 며 개인 적 으로 문 제 를 가 져 올 수 있다 고 느 낄 수 있 지만 현재 절차 유통 내부 의 실현 에 대해 완전히 이해 하지 못 하고 사용 에 신중 해 야 한다. 예 를 들 어 어떤 절차 가 실행 되 고 있다.이전 버 전의 정 의 는 이 럴 때 프로 세 스 정 의 를 바 꾸 고 그 다음 에 어떻게 돌아 가 느 냐 가 문제 입 니 다). 프로 세 스 도 승인 자의 설정 입 니 다.
activiti 의 절차 1. 배치 절차
repositoryService.createDeployment() //
.name(deployFile.getOriginalFilename()) //
.addZipInputStream(new ZipInputStream(deployFile.getInputStream()))// ZIP
.deploy();//
2. 시작 절차
Map variables=new HashMap();
variables.put("leaveId", leaveId);
//
ProcessInstance pi= runtimeService.startProcessInstanceByKey("hello",variables);
// Id
Task task=taskService.createTaskQuery().processInstanceId(pi.getProcessInstanceId()).singleResult();
//
taskService.complete(task.getId());
Leave leave=leaveService.findById(leaveId);
//
leave.setState(" ");
leave.setProcessInstanceId(pi.getProcessInstanceId());
//
leaveService.updateLeave(leave);
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.