Activiti 工作流引擎 ~ 整合 Activiti Modeler(一)

Activiti 工作流引擎 ~ 整合 Activiti Modeler(一)

本文使用的Activiti版本为5.22.0。整理中。。。

解压官方demo
这里写图片描述

迁移官方demo中的文件到自己的项目中

1. 迁移前端文件

diagram-viewereditor-app文件夹和modeler.html文件拷贝到自己项目的根目录中
这里写图片描述

2.迁移配置文件

这里写图片描述

3.迁移Java文件

文件可从源码的activiti-webapp-explorer2模块中获取
这里写图片描述

内容调整

1.修改数据库配置文件

这里写图片描述
注意:
a. 此处需要将jdbc.url中的&改回为&,否则将导致中文乱码
b. 截图中utf-8的后面多了一个"(双引号),需要删除

2.修改activiti上下文路径

这里写图片描述

3.activiti-custom-context.xml放开注释部分
@Configuration
public class ActivitiEngineConfiguration {
    //...
}

官方demo使用注解的方式配置Activiti环境,所以activiti-custom-context.xml中的配置被注释掉了。这两种方式可以任选,此处使用xml方式配置。

由于Activiti 官方demo中使用Vaadin作为前端框架进行页面展示,故需将页面涉及到的后台重新编写

Spring 配置

web.xml中关于activiti的配置
这里写图片描述
这里写图片描述
url-pattern的设置为/service/*是因为activiti-model中设置的路径都是相对于service的,在app-cfg.js文件中可修改其值

spring-mvc.xml中添加对静态资源的处理

    <!-- 静态资源不走controller -->
    <mvc:resources mapping="/diagram-viewer/**" location="/diagram-viewer/" />
    <mvc:resources mapping="/editor-app/**" location="/editor-app/" />

activiti-custom-context.xml中添加bean

<bean id="objectMapper" class="com.fasterxml.jackson.databind.ObjectMapper" />

新建activiti-mvc.xml

    <mvc:annotation-driven/>

    <!-- 指定需要扫描的包 -->
    <context:component-scan base-package="org.activiti.rest.editor,org.activiti.rest.diagram" />

    <bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver" />

    <bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
        <property name="paramName" value="language" />
    </bean>

    <bean id="requestMappingHandlerMapping" class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping">
        <property name="useSuffixPatternMatch" value="false" />
        <property name="interceptors">
            <list>
                <ref bean="localeChangeInterceptor" />
            </list>
        </property>
    </bean>

添加依赖

Activiti依赖 com.fasterxml.jackson.databind包,maven配置如下:

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.8.6</version>
</dependency>

猜你喜欢

转载自blog.csdn.net/quan20111992/article/details/79948130