JBPM 与 Web 应用程序组织层次结构的集成
JBPM integration with web application organisation hierarchy
我开发了一个 spring 和与 jbpm 6 集成的休眠应用程序。我成功启动了在 eclipse bpmn 2 插件中设计的示例流程
我像下面这样设置演员 ID,他们是我的 Web 应用程序中定义的用户。
我知道 jbpm 和我的用户 table 之间必须有一个 link。但我找不到任何解释。
所以我的问题是有没有办法使用我自己预定义的用户组职位等作为 activity 负责人?
示例过程
我试图将一些现有的 wep 应用程序用户 ID 添加到用户任务的参与者列表中,但这当然行不通
编辑:我正在研究 jbpm-human-task-jpa 源代码以改变组织结构,我希望我能实现代码与我自己的组织相适应
我想你想实现一个自定义 UserGroupCallback。您将需要创建一个 class 来实现该接口并将其注册到运行时。如果您使用的是 CDI,则可以将 @ApplicationScoped 注释添加到 class 并且它应该会注册。如果手动构建运行时,您可以像下面的代码一样注册它
RuntimeEnvironment environment = RuntimeEnvironmentBuilder.Factory.get()
.newDefaultBuilder()
.entityManagerFactory(emf)
.userGroupCallback(usergroupCallback)
下面是 getGroupsForUser 方法的示例实现。
public List<String> getGroupsForUser(String userId, List<String> groupIds, List<String> allExistingGroupIds) {
List<String> groups = new ArrayList<String>();
if ("ismail".equals(userId)) {
groups.add("admin");
groups.add("project_manager");
}
return groups;
}
您可以在用户任务/属性/组 ID 中按组设置任务分配。您可以在该字段中使用 admin 或 project_manager。当您尝试以用户 ismail 身份声明该任务时,它应该可用。您可以对另一个数据库进行 JDBC 或 JPA 调用来执行查找,而不是像以前那样进行硬编码。
我开发了一个 spring 和与 jbpm 6 集成的休眠应用程序。我成功启动了在 eclipse bpmn 2 插件中设计的示例流程
我像下面这样设置演员 ID,他们是我的 Web 应用程序中定义的用户。 我知道 jbpm 和我的用户 table 之间必须有一个 link。但我找不到任何解释。
所以我的问题是有没有办法使用我自己预定义的用户组职位等作为 activity 负责人?
示例过程
我试图将一些现有的 wep 应用程序用户 ID 添加到用户任务的参与者列表中,但这当然行不通
编辑:我正在研究 jbpm-human-task-jpa 源代码以改变组织结构,我希望我能实现代码与我自己的组织相适应
我想你想实现一个自定义 UserGroupCallback。您将需要创建一个 class 来实现该接口并将其注册到运行时。如果您使用的是 CDI,则可以将 @ApplicationScoped 注释添加到 class 并且它应该会注册。如果手动构建运行时,您可以像下面的代码一样注册它
RuntimeEnvironment environment = RuntimeEnvironmentBuilder.Factory.get()
.newDefaultBuilder()
.entityManagerFactory(emf)
.userGroupCallback(usergroupCallback)
下面是 getGroupsForUser 方法的示例实现。
public List<String> getGroupsForUser(String userId, List<String> groupIds, List<String> allExistingGroupIds) {
List<String> groups = new ArrayList<String>();
if ("ismail".equals(userId)) {
groups.add("admin");
groups.add("project_manager");
}
return groups;
}
您可以在用户任务/属性/组 ID 中按组设置任务分配。您可以在该字段中使用 admin 或 project_manager。当您尝试以用户 ismail 身份声明该任务时,它应该可用。您可以对另一个数据库进行 JDBC 或 JPA 调用来执行查找,而不是像以前那样进行硬编码。