注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

拥有自己的梦想,跟随心的召唤

平凡是福

 
 
 

日志

 
 

Activiti 自定义用户管理的配置  

2012-07-31 11:49:34|  分类: bc |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
(BC内部开发文档资料)
Spring配置文件
<!-- 自定义Activiti的用户和用户组管理 -->
<bean id="customUserManager" class="cn.bc.workflow.activiti.CustomUserManager"/>
<bean id="customGroupManager" class="cn.bc.workflow.activiti.CustomGroupManager"/>

<!-- Activiti引擎配置 -->
<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
......
<!-- 自定义用户、用户组的配置 -->
<property name="customSessionFactories">
<list>
<bean class="cn.bc.workflow.activiti.CustomUserManagerFactory"
p:userManager-ref="customUserManager" />
<bean class="cn.bc.workflow.activiti.CustomGroupManagerFactory"
p:groupManager-ref="customGroupManager" />
</list>
</property>
</bean>
其中CustomGroupManagerFactoryCustomUserManagerFactory实现org.activiti.engine.impl.interceptor.SessionFactory接口,代码如下:
package cn.bc.workflow.activiti;
import org.activiti.engine.impl.interceptor.Session;
import org.activiti.engine.impl.interceptor.SessionFactory;
import org.activiti.engine.impl.persistence.entity.UserManager;
import org.springframework.beans.factory.annotation.Autowired;

/**
* 自定义的Activiti用户会话工厂
*/
public class CustomUserManagerFactory implements SessionFactory {
private UserManager userManager;

@Autowired
public void setUserManager(UserManager userManager) {
this.userManager = userManager;
}

public Class getSessionType() {
// 返回原始的UserManager类型
return UserManager.class;
}

public Session openSession() {
// 返回自定义的UserManager实例
return userManager;
}
}
-----------------------------------------------------------------
package cn.bc.workflow.activiti;
import org.activiti.engine.impl.interceptor.Session;
import org.activiti.engine.impl.interceptor.SessionFactory;
import org.activiti.engine.impl.persistence.entity.GroupManager;
import org.springframework.beans.factory.annotation.Autowired;

/**
* 自定义的Activiti用户组会话工厂
*/
public class CustomGroupManagerFactory implements SessionFactory {
private GroupManager groupManager;

@Autowired
public void setGroupManager(GroupManager groupManager) {
this.groupManager = groupManager;
}

public Class getSessionType() {
// 返回原始的GroupManager类型
return GroupManager.class;
}

public Session openSession() {
// 返回自定义的GroupManager实例
return groupManager;
}
}
CustomUserManager扩展自activiti内置的默认实现org.activiti.engine.impl.persistence.entity.UserManager,复写相应的方法即可。
CustomGroupManager扩展自activiti内置的默认实现org.activiti.engine.impl.persistence.entity.GroupManager,复写相应的方法即可。

如上配置后,activiti的相关ACT_ID_XXX表就可以删除掉!

参考:
  评论这张
 
阅读(4923)| 评论(1)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017