如何重用Activiti中的现有用户/组数据?

Xiè*_*léi 6 integration activiti

我有一个webapp,它具有用户/组功能,以及现有的用户/组数据.

我想使用Activiti流程引擎,但似乎Activiti管理用户/组信息本身.

我是不是该:

  1. 重构我现有的webapp,重用Activiti中的用户/组数据,或
  2. 编写一些适配器代码,使Activiti在现有数据库中重用用户/组数据?也许,另一个implmentation RepositoryService,IdentityService等等,并重新编译?似乎RepositionServiceImpl在Activiti来源中硬编码,并且没有setRepositionService()方法ProcessEngine.

我无法重命名现有的db表,因为还有一些其他应用程序使用它们.

我已阅读用户指南,但我没有找到有关如何将Activiti与现有应用程序集成的任何信息.

jel*_*ies 8

我不知道你目前使用的是哪个版本,但我在5.5版本中成功使用了你的第二个选项,覆盖了一些Activiti类:

  1. 使用所需的DAO/EntityManager /指向数据库的任何内容,扩展GroupManagerUserManager(从包中org.activiti.engine.impl.persistence.entity)并实现所需的方法.代码在这里:GroupManager/UserManager.

  2. 落实org.activiti.engine.impl.interceptor.SessionFactory.SessionFactory,为组和用户.在这里查看代码:ActivitiGroupManagerFactory/ActivitiUserManagerFactory.

  3. 最后,在您的活动配置中,您必须设置新的SessionFactory类.我使用spring,所以有我的activiti-config bean代码:activiti-config.xml(检查第14行)

希望这在某种程度上有所帮助:)