spring集成activiti5.21
项目使用maven项目
(参考网上教程,成功后做笔记使用)
- maven的pom.xml中添加依赖:
<!--activity --> <dependency> <groupId>org.activiti</groupId> <artifactId>activiti-engine</artifactId>
<version>5.21.0</version>
</dependency>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-modeler</artifactId>
<version>5.21.0</version>
</dependency>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-spring</artifactId>
<version>5.21.0</version>
</dependency>
|
- 添加配置wenjianspring-activiti.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration"> <!-- 数据源 --> <property name="dataSource"> <ref bean="dataSource" /> </property> <property name="databaseType" value="mysql"></property> <!-- 配置事务管理器,统一事务 --> <property name="transactionManager"> <ref bean="transactionManager" /> </property> <!-- 设置建表策略,如果没有表,自动创建表 --> <property name="databaseSchemaUpdate" value="true"></property> <property name="activityFontName" value="宋体" /> <property name="labelFontName" value="宋体" /> </bean> <bean id="objectMapper" class="com.fasterxml.jackson.databind.ObjectMapper"></bean> <bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean"> <property name="processEngineConfiguration" ref="processEngineConfiguration"></property> </bean> <!-- 7种服务 不一定全部使用 --> <bean id="repositoryService" factory-bean="processEngine" factory-method="getRepositoryService" /> <bean id="runtimeService" factory-bean="processEngine" factory-method="getRuntimeService" /> <bean id="formService" factory-bean="processEngine" factory-method="getFormService" /> <bean id="identityService" factory-bean="processEngine" factory-method="getIdentityService" /> <bean id="taskService" factory-bean="processEngine" factory-method="getTaskService" /> <bean id="historyService" factory-bean="processEngine" factory-method="getHistoryService" /> <bean id="managementService" factory-bean="processEngine" factory-method="getManagementService" /> </beans> |
- 下面是集成activiti-modeler;添加创建model的class
package cn.temptation.web; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.activiti.editor.constants.ModelDataJsonConstants; import org.activiti.engine.ProcessEngine; import org.activiti.engine.ProcessEngines; import org.activiti.engine.RepositoryService; import org.activiti.engine.repository.Model; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ObjectNode; @Controller @RequestMapping(value = "/module") public class ModuleController { /** * 创建模型 */ @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, "hello1111"); modelObjectNode.put(ModelDataJsonConstants.MODEL_REVISION, 1); String description = "hello1111"; modelObjectNode.put(ModelDataJsonConstants.MODEL_DESCRIPTION, description); modelData.setMetaInfo(modelObjectNode.toString()); modelData.setName("hello1111"); modelData.setKey("12313123"); //保存模型 repositoryService.saveModel(modelData); repositoryService.addModelEditorSource(modelData.getId(), editorNode.toString().getBytes("utf-8")); response.sendRedirect(request.getContextPath() + "/modeler.html?modelId=" + modelData.getId()); } catch (Exception e) { System.out.println("创建模型失败:"); } } } |
- 下载activiti5.21
- 使用其中的activit中的D:\Activiti-activiti-5.21.0\modules\activiti-webapp-explorer2\src\main\webapp
-
- 使用其中的D:\Activiti-activiti-5.21.0\modules\activiti-webapp-explorer2\src\main\resources
-
-
- 修改editor-app中的app-cfg.js
-
- 发布访问http://localhost:8080/testssm/module/create即可