activiti5.14 扩展用户自定义表
来源:互联网 发布:淘宝美工工作辛苦吗 编辑:程序博客网 时间:2024/05/26 20:23
在网上找了很多关于activiti扩展用户自定义表的文章,发现在5.14中不起作用,查看源码之后发现在用会话工厂中的返回类型改成了接口而不是原来的抽象类。1.CustomGroupManagerFactory 用户组会话工厂这边的返回类型要改成 GroupIdentityManager接口,之前的版本貌似是GroupEntityManager,因为在配置加载的时候是以这个为KEY值获得对应的工厂
3.下面是用户组合用户管理器只要在里面实现自己的增删改查就行了
4.最后是配置文件
import org.activiti.engine.impl.interceptor.Session;import org.activiti.engine.impl.interceptor.SessionFactory;import org.activiti.engine.impl.persistence.entity.GroupEntityManager;import org.activiti.engine.impl.persistence.entity.GroupIdentityManager;import org.springframework.beans.factory.annotation.Autowired;/** * 自定义的Activiti用户组会话工厂 */public class CustomGroupManagerFactory implements SessionFactory { private GroupEntityManager groupEntityManager; @Autowired public void setGroupEntityManager(GroupEntityManager groupEntityManager) { this.groupEntityManager = groupEntityManager; } public Class<?> getSessionType() { // 返回原始的GroupIdentityManager类型 return GroupIdentityManager.class; } public Session openSession() { // 返回自定义的GroupEntityManager实例 return groupEntityManager; } }
2. CustomUserManagerFactory 自定义的Activiti用户会话工厂
import org.activiti.engine.impl.interceptor.Session;import org.activiti.engine.impl.interceptor.SessionFactory;import org.activiti.engine.impl.persistence.entity.UserEntityManager;import org.activiti.engine.impl.persistence.entity.UserIdentityManager;import org.springframework.beans.factory.annotation.Autowired;/** * 自定义的Activiti用户会话工厂 */public class CustomUserManagerFactory implements SessionFactory {private UserEntityManager userEntityManager; @Autowired public void setUserEntityManager(UserEntityManager userEntityManager) { this.userEntityManager = userEntityManager; } public Class<?> getSessionType() { // 返回原始的UserManager类型 return UserIdentityManager.class; } public Session openSession() { // 返回自定义的UserManager实例 return userEntityManager; } }
3.下面是用户组合用户管理器只要在里面实现自己的增删改查就行了
import java.util.List;import java.util.Map;import org.activiti.engine.identity.Group;import org.activiti.engine.identity.GroupQuery;import org.activiti.engine.impl.GroupQueryImpl;import org.activiti.engine.impl.Page;import org.activiti.engine.impl.persistence.entity.GroupEntity;import org.activiti.engine.impl.persistence.entity.GroupEntityManager;/** * 自定义的Activiti用户组管理器 * */public class CustomGroupManager extends GroupEntityManager { @Overridepublic Group createNewGroup(String groupId) {// TODO Auto-generated method stubreturn super.createNewGroup(groupId);}@Overridepublic void insertGroup(Group group) {// TODO Auto-generated method stubsuper.insertGroup(group);}@Overridepublic void updateGroup(GroupEntity updatedGroup) {// TODO Auto-generated method stubsuper.updateGroup(updatedGroup);}@Overridepublic void deleteGroup(String groupId) {// TODO Auto-generated method stubsuper.deleteGroup(groupId);}@Overridepublic GroupQuery createNewGroupQuery() {// TODO Auto-generated method stubreturn super.createNewGroupQuery();}@Overridepublic List<Group> findGroupByQueryCriteria(GroupQueryImpl query, Page page) {// TODO Auto-generated method stubreturn super.findGroupByQueryCriteria(query, page);}@Overridepublic long findGroupCountByQueryCriteria(GroupQueryImpl query) {// TODO Auto-generated method stubreturn super.findGroupCountByQueryCriteria(query);}@Overridepublic List<Group> findGroupsByUser(String userId) {// TODO Auto-generated method stubreturn super.findGroupsByUser(userId);}@Overridepublic List<Group> findGroupsByNativeQuery(Map<String, Object> parameterMap, int firstResult, int maxResults) {// TODO Auto-generated method stubreturn super.findGroupsByNativeQuery(parameterMap, firstResult, maxResults);}@Overridepublic long findGroupCountByNativeQuery(Map<String, Object> parameterMap) {// TODO Auto-generated method stubreturn super.findGroupCountByNativeQuery(parameterMap);}}
import java.util.List;import java.util.Map;import org.activiti.engine.identity.Group;import org.activiti.engine.identity.User;import org.activiti.engine.identity.UserQuery;import org.activiti.engine.impl.Page;import org.activiti.engine.impl.UserQueryImpl;import org.activiti.engine.impl.persistence.entity.IdentityInfoEntity;import org.activiti.engine.impl.persistence.entity.UserEntity;import org.activiti.engine.impl.persistence.entity.UserEntityManager;public class CustomUserManager extends UserEntityManager {@Overridepublic User createNewUser(String userId) {// TODO Auto-generated method stubreturn super.createNewUser(userId);}@Overridepublic void insertUser(User user) {// TODO Auto-generated method stubsuper.insertUser(user);}@Overridepublic void updateUser(UserEntity updatedUser) {// TODO Auto-generated method stubsuper.updateUser(updatedUser);}@Overridepublic UserEntity findUserById(String userId) {// TODO Auto-generated method stubreturn super.findUserById(userId);}@Overridepublic void deleteUser(String userId) {// TODO Auto-generated method stubsuper.deleteUser(userId);}@Overridepublic List<User> findUserByQueryCriteria(UserQueryImpl query, Page page) {// TODO Auto-generated method stubreturn super.findUserByQueryCriteria(query, page);}@Overridepublic long findUserCountByQueryCriteria(UserQueryImpl query) {// TODO Auto-generated method stubreturn super.findUserCountByQueryCriteria(query);}@Overridepublic List<Group> findGroupsByUser(String userId) {return super.findGroupsByUser(userId);}@Overridepublic UserQuery createNewUserQuery() {// TODO Auto-generated method stubreturn super.createNewUserQuery();}@Overridepublic IdentityInfoEntity findUserInfoByUserIdAndKey(String userId, String key) {// TODO Auto-generated method stubreturn super.findUserInfoByUserIdAndKey(userId, key);}@Overridepublic List<String> findUserInfoKeysByUserIdAndType(String userId, String type) {// TODO Auto-generated method stubreturn super.findUserInfoKeysByUserIdAndType(userId, type);}@Overridepublic Boolean checkPassword(String userId, String password) {// TODO Auto-generated method stubreturn super.checkPassword(userId, password);}@Overridepublic List<User> findPotentialStarterUsers(String proceDefId) {// TODO Auto-generated method stubreturn super.findPotentialStarterUsers(proceDefId);}@Overridepublic List<User> findUsersByNativeQuery(Map<String, Object> parameterMap, int firstResult, int maxResults) {// TODO Auto-generated method stubreturn super.findUsersByNativeQuery(parameterMap, firstResult, maxResults);}@Overridepublic long findUserCountByNativeQuery(Map<String, Object> parameterMap) {// TODO Auto-generated method stubreturn super.findUserCountByNativeQuery(parameterMap);}}
4.最后是配置文件
<!-- 创建一个流程引擎的配置对象 --><bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration"><!--这里是数据源的指定 指向你自己的dataSource --><property name="dataSource" ref="dataSource" /><property name="transactionManager" ref="transactionManager" /><!-- 设置数据库schema的更新方式 --><property name="databaseSchemaUpdate" value="true" /><!-- 是否启动jobExecutor --><property name="jobExecutorActivate" value="false" /><property name="activityFontName" value="宋体" /><property name="labelFontName" value="宋体" /><!-- 自动部署流程 --><property name="deploymentResources"><list><value>classpath*:/diagrams/*</value></list></property><property name="mailServerHost" value="smtp.xxx.com" /><property name="mailServerPort" value="25" /><property name="mailServerDefaultFrom" value="xxx@xxx.com" /><property name="mailServerUsername" value="xxx@xx.com" /><property name="mailServerPassword" value="xxxx" /><!-- 配置自定义用户 --><property name="customSessionFactories"> <list> <bean class="com.yum.amp2.workflow.util.CustomGroupManagerFactory" > <property name="groupEntityManager"> <bean class="com.yum.amp2.workflow.util.CustomGroupManager"></bean> </property> </bean> <bean class="com.yum.amp2.workflow.util.CustomUserManagerFactory" > <property name="userEntityManager"> <bean id="userEntityManager" class="com.yum.amp2.workflow.util.CustomUserManager"></bean> </property> </bean></list></property></bean>
0 0
- activiti5.14 扩展用户自定义表
- Activiti5.8自定义用户表
- Activiti5.8自定义用户表
- activiti5.13.1下使用自定义用户数据管理模块
- activiti5用户任务分配
- laravel创建或扩展用户自定义函数
- django用户表扩展
- Activiti5.14安装
- activiti5.4表结构
- activiti5.0DOC之用户任务
- Activiti5.14 流程跳跃/退回/驳回/自定义流转(中国式退回)
- activiti5.17使用自定义的user和group表的几种方法
- Activiti5.13数据库表结构设计
- Activiti5.16.4数据库表结构
- activiti5.18 建表测试
- springsecurity扩展自定义会话管理(一)控制用户重复登陆
- stl排序函数用户自定义比较函数扩展
- 用户自定义TCode表
- 表统计信息过旧导致执行慢的sql优化
- 编写计算“两个整数的最大公约数”程序
- 使用spring开发时 web.xml配置contextConfigLocation参数的作用
- Maven常用插件使用说明之deploy
- 程序员面试---MVC框架和xml优缺点
- activiti5.14 扩展用户自定义表
- 身心俱惫呀
- iphone定位 基本知识
- 【COCOS2DX-LUA 脚本开发之四】使用tolua++编译pkg,从而创建自定义类让Lua脚本使用
- 实现一个定制的3DListview——第二部分
- android webview 输入法软键盘遮挡输入框实现(界面自动上滑并可滑动)
- openvpn 服务端配置
- [Accessibility] Missing contentDescription attribute on image .
- View Controller 容器