【工作流Activiti】MyActivit的maven项目

2023-12-19 22:59:43

1、Idea新建一个项目MyActivit的maven项目

2、安装插件

在 idea 里面,activiti 的插件叫 actiBPM,在插件库里面把它安装好,重启 idea 就行了。

3、 maven 项目中,并更改 pom.xml。pom 中依赖如下:

<?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>MyActiviti</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <!--JUnit测试-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
        <!--- Activiti依赖导入 -->
        <dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-spring</artifactId>
            <version>5.18.0</version>
        </dependency>
        <dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-engine</artifactId>
            <version>5.18.0</version>
            <exclusions>
                <exclusion>
                    <artifactId>slf4j-api</artifactId>
                    <groupId>org.slf4j</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>spring-beans</artifactId>
                    <groupId>org.springframework</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>jackson-core-asl</artifactId>
                    <groupId>org.codehaus.jackson</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>commons-lang3</artifactId>
                    <groupId>org.apache.commons</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>commons-lang3</artifactId>
                    <groupId>org.apache.commons</groupId>
                </exclusion>
            </exclusions>
        </dependency>  <!--MySQL 驱动包,如果是其他库的话需要换驱动包-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.35</version>
        </dependency>
    </dependencies>


</project>

4、创建工作流

  • 使用activiti Modeler来创建工作流

activiti Modeler是一个可视化的工作流编辑器,可以方便地创建一个工作流。可以在官网下载之后解压,然后启动一个tomcat服务器来访问该编辑器。

  • 使用BPMN 2.0文件来创建工作流

BPMN 2.0是一种XML格式的文件,可以使用文本编辑器直接编写。不同的元素使用不同的标签来表示。

例如:

<process>标签表示一个具体的工作流程,

<startEvent>标签表示一个开始节点,

<serviceTask>标签表示一个服务任务等等。

5、编写Java代码

接下来我们需要编写Java代码来调用工作流。通常,我们需要定义一个启动工作流的Service,在其中使用activiti来启动工作流。具体的代码可以参考以下示例:

@Service
public class WorkflowService {

    @Autowired
    private RuntimeService runtimeService;

    public void startWorkflow() {
        // 定义需要传入的参数
        Map<String, Object> variables = new HashMap<String, Object>();
        variables.put("applicant", "John Doe");
        variables.put("email", "john.doe@example.com");

        // 启动工作流,并传入参数
        ProcessInstance processInstance =
            runtimeService.startProcessInstanceByKey("processKey", variables);
    }
}

在上述示例代码中,我们需要注入RuntimeService对象来启动工作流。startProcessInstanceByKey方法中使用了一个参数processKey,它需要与工作流文件中定义的流程ID保持一致。

6、测试

编写完Java代码后,可以编写测试用例来测试工作流是否能够成功启动。可以参考以下示例代码:

@RunWith(SpringRunner.class)
@SpringBootTest
public class WorkflowServiceTest {

    @Autowired
    private WorkflowService workflowService;

    @Test
    public void testStartWorkflow() {
        workflowService.startWorkflow();
    }
}

在上述示例代码中,我们需要注入WorkflowService对象来启动工作流。在testStartWorkflow方法中调用了startWorkflow方法来启动工作流。

可以关注我,查看【工作流Activiti】的其他文章介绍。

文章来源:https://blog.csdn.net/liguohuaty/article/details/135078800
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。