activiti1-搭环境并用程序启动流程

本文版本6.0.0

部署activiti的3个war包到tomcat,略。启动tomcat

配置数据库,启动会生成数据库表。

一、页面创建流程,应用


1.定义流程

进入http://localhost:8080/activiti-app

创建一个流程:



注意,本例:

第一个节点,分配用户为固定用户



2.创建应用:

a.创建


b.编辑流程

点编辑按钮

表示有此流程的图标


发布app(也就发布了流程)



查看应用流程

进入http://localhost:8080/activiti-admin/#/deployments

用户名/密码 admin/admin





二、代码:

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<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.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>activity_test</artifactId>
    <version>1.0-SNAPSHOT</version>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.3</version>
    </parent>
    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>

        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

        <h2.version>1.4.200</h2.version>

    </properties>





    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>

        </dependency>
        <dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-spring-boot-starter-basic</artifactId>
            <version>6.0.0</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.44</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.0.1</version>
        </dependency>

        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.2.3</version>
        </dependency>

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>RELEASE</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

启动Java:

package com.xx;

import org.activiti.engine.RuntimeService;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.spring.boot.SecurityAutoConfiguration;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;

import java.util.HashMap;
import java.util.Map;

@SpringBootApplication(exclude = SecurityAutoConfiguration.class)
@MapperScan(basePackages = {"com.xx.mapper"})
public class Application {

    @Autowired
    RuntimeService runtimeService;


    public static void main(String[] args) {
        ConfigurableApplicationContext context=SpringApplication.run(Application.class,args);
        context.getBean(Application.class).startLeaveProcessMul();
    }


    public String startLeaveProcess(){

        // 启动流程
        Map<String,Object> map = new HashMap<>(1);
        // 设置流程启动人
        map.put("applyUserId","cz");
        ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("first");
        System.out.println("请假流程启动成功,流程实例id为 "+processInstance.getId());
        // 回填 流程实例id
        //leaveMapper.updateLeave(leave.getId(),processInstance.getId());

        return "请假流程启动成功";
    }

    public String startLeaveProcessMul(){
        // 启动流程
        Map<String,Object> map = new HashMap<>(1);
        // 设置流程启动人
        map.put("applyUserId","boss");
        ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("multipers");
        System.out.println("巡查流程启动成功,流程实例id为 "+processInstance.getId());
        // 回填 流程实例id
        //leaveMapper.updateLeave(leave.getId(),processInstance.getId());

        return "巡查流程启动成功";
    }
}

文/程忠 浏览次数:0次   2022-08-16 10:10:43

相关阅读


评论:
点击刷新

↓ 广告开始-头部带绿为生活 ↓
↑ 广告结束-尾部支持多点击 ↑