activiti配置:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<!--包扫描( 配置 编辑器 服务 )-->
<context:component-scan
base-package="org.activiti.conf,org.activiti.rest.editor,org.activiti.rest.service">
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
<!-- 单例json对象 -->
<bean id="objectMapper" class="com.fasterxml.jackson.databind.ObjectMapper"/>
<!-- 引擎内部提供的UUID生成器,依赖fastxml的java-uuid-generator模块 -->
<bean id="uuidGenerator" class="org.activiti.engine.impl.persistence.StrongUuidGenerator" />
<!-- Activiti begin -->
<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
<property name="dataSource" ref="dataSource"/>
<property name="transactionManager" ref="transactionManager"/>
<property name="databaseSchemaUpdate" value="true"/>
<property name="jobExecutorActivate" value="true"/>
<!--<property name="history" value="full"/>-->
<property name="processDefinitionCacheLimit" value="10"/>
<!-- mail -->
<property name="mailServerHost" value="localhost"/>
<property name="mailServerUsername" value="test"/>
<property name="mailServerPassword" value="000000"/>
<property name="mailServerPort" value="2025"/>
<!-- UUID作为主键生成策略
<property name="idGenerator" ref="uuidGenerator" />
-->
<!-- 生成流程图的字体 -->
<property name="activityFontName" value="${diagram.activityFontName}"/>
<property name="labelFontName" value="${diagram.labelFontName}"/>
<!-- 自动部署 -->
<property name="deploymentResources">
<list>
<value>classpath*:/deployments/*
</value>
</list>
</property>
<!-- 自定义表单字段类型 -->
<property name="customFormTypes">
<list>
<bean class="me.kafeitu.demo.activiti.activiti.form.UsersFormType"/>
</list>
</property>
<!-- JPA -->
<property name="jpaEntityManagerFactory" ref="entityManagerFactory" />
<property name="jpaHandleTransaction" value="false" />
<property name="jpaCloseEntityManager" value="false" />
<!-- 全局事件 -->
<property name="typedEventListeners">
<map>
<entry key="VARIABLE_CREATED" >
<list>
<ref bean="variableCreateListener"/>
</list>
</entry>
</map>
</property>
</bean>
<bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean">
<property name="processEngineConfiguration" ref="processEngineConfiguration"/>
</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"/>
<!-- 集成REST服务需要的bean -->
<bean id="restResponseFactory" class="org.activiti.rest.service.api.RestResponseFactory" />
<bean id="contentTypeResolver" class="org.activiti.rest.common.application.DefaultContentTypeResolver" />
</beans>
持久化实现:
package org.springframework.data.repository
;
import java.io.Serializable
;
@NoRepositoryBean
public interface CrudRepository<T
, ID
extends Serializable>
extends Repository<T
, ID> {
<S
extends T> S save(S var1)
;
<S
extends T> Iterable<S> save(Iterable<S> var1)
;
T findOne(ID var1)
;
boolean exists(ID var1)
;
Iterable<T> findAll()
;
Iterable<T> findAll(Iterable<ID> var1)
;
long count()
;
void delete(ID var1)
;
void delete(T var1)
;
void delete(Iterable<?
extends T> var1)
;
void deleteAll()
;
}