SpringBoot整合Activiti Explorer 5.22.0

记一次整合activity5.22.0

1、下载activiti-explorer

首先我们需要获取activiti-explorer.zip(目前使用activiti-5.22.0版本),压缩包可以在网络上下载,或者从官网下载Get started | Activiti 下载5.x版本

2、项目中集成

2.1 前端相关放在static目录下

2.2 调整app-cfg.js文件

2.3 修改/editor-app/configuration/toolbar-default-actions.js请求方式

 

 2.4 复制war里面的相关java文件(ModelEditorJsonRestResource.java、ModelSaveRestResource.java、StencilsetRestResource.java)并进行调整

 

2.5 调整请求方式为POST 

2.6 POM文件相关的依赖

<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>2.1.0</version>
		</dependency>
		<dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<scope>runtime</scope>
		</dependency>
		<dependency>
		    <groupId>org.springframework.boot</groupId>
		    <artifactId>spring-boot-starter-logging</artifactId>
		</dependency>
		<dependency>
		    <groupId>com.alibaba</groupId>
		    <artifactId>druid</artifactId>
		    <version>1.0.7</version>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
			<version>2.5</version>
		</dependency>
		 <!--spring activiti start-->
		 <dependency>
			<groupId>org.activiti</groupId>
			<artifactId>activiti-spring-boot-starter-basic</artifactId>
			<version>${activiti.version}</version>
			<exclusions>
	        	<exclusion>
		            <groupId>org.mybatis</groupId>
		            <artifactId>mybatis</artifactId>
		        </exclusion>
		        <exclusion>
		         	<groupId>org.springframework.boot</groupId>
            		<artifactId>spring-boot-starter-security</artifactId>
		        </exclusion>
		    </exclusions>
		</dependency>
		<!-- Activiti流程图 -->
		<dependency>
		    <groupId>org.activiti</groupId>
		    <artifactId>activiti-diagram-rest</artifactId>
		    <version>${activiti.version}</version>
		</dependency>
		<!-- Activiti在线设计 -->
		<dependency>
			<groupId>org.activiti</groupId>
			<artifactId>activiti-modeler</artifactId>
			<version>${activiti.version}</version>
		</dependency>

2.7 启动排除的类

@SpringBootApplication(exclude = {
        org.activiti.spring.boot.SecurityAutoConfiguration.class,
        org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class,
})
public class SpringbootActivitiApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringbootActivitiApplication.class, args);
    }

}

 2.8 编写创建审批流接口提供

@RequestMapping("/create")
    public void create(HttpServletRequest request, HttpServletResponse response) {
        try {
            ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();

            RepositoryService repositoryService = processEngine.getRepositoryService();

            ObjectMapper objectMapper = new ObjectMapper();
            ObjectNode editorNode = objectMapper.createObjectNode();
            editorNode.put("id", "canvas");
            editorNode.put("resourceId", "canvas");
            ObjectNode stencilSetNode = objectMapper.createObjectNode();
            stencilSetNode.put("namespace", "http://b3mn.org/stencilset/bpmn2.0#");
            editorNode.put("stencilset", stencilSetNode);
            Model modelData = repositoryService.newModel();

            ObjectNode modelObjectNode = objectMapper.createObjectNode();
            modelObjectNode.put(ModelDataJsonConstants.MODEL_NAME, "testactivity1");
            modelObjectNode.put(ModelDataJsonConstants.MODEL_REVISION, 1);
            String description = "自定义审批流测试1";
            modelObjectNode.put(ModelDataJsonConstants.MODEL_DESCRIPTION, description);
            modelData.setMetaInfo(modelObjectNode.toString());
            modelData.setName("自定义审批流测试1");
            modelData.setKey("74185296339");

            //保存模型
            repositoryService.saveModel(modelData);
            repositoryService.addModelEditorSource(modelData.getId(), editorNode.toString().getBytes("utf-8"));
            response.sendRedirect(request.getContextPath() + "/modeler/modeler.html?modelId=" + modelData.getId());
        } catch (Exception e) {
            System.out.println("创建模型失败:");
        }
    }

 2.9 访问http://localhost:8010/activity/approval/create 后进入审批流程配置中

 汉化文件stencilset.json可以通过网络下载,放在/src/main/resources/stencilset.json 

3.0 启动会自动生成表

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值