无法从 JBPM 6.4 获取所有任务
Unable to get all task from JBPM 6.4
有没有办法从系统中获取所有任务和每个任务的潜在所有者?
我发现任务服务上有一些方法,但它 returns 只是任务的一部分,没有潜在的所有者。
您可以随时查看数据库中 table PEOPLEASSIGNMENTS_POTOWNERS 和 table TASK 中的记录。您是否有权访问数据库,或者您必须从 Workbench 或 rest api 获取此类信息?
这是我的解决方案:
@Inject
TaskService taskService;
@Inject
@PersistenceUnit(unitName = "org.jbpm.domain")
private EntityManagerFactory emf;
EntityManager em = emf.createEntityManager();
CriteriaBuilder criteriaBuilder = em.getCriteriaBuilder();
final CriteriaQuery criteriaQuery = criteriaBuilder.createQuery(TaskMinimal.class);
final Root taskRoot = criteriaQuery.from(TaskImpl.class);
final TypedQuery query = em.createQuery(criteriaQuery);
List<TaskMinimal> taskMinimals = query.getResultList();
List<Task> tasks = taskMinimals.stream()
.map(minimal -> taskService.getTaskById(minimal.getId()))
.collect(Collectors.toList());
public class TaskMinimal {
private long id;
public TaskMinimal(long id){
this.id = id;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
}
如果您使用 KIE-Server,则有一个 REST API 提供所有 these.Simply 转至 :8180/kie-server/docs 了解所有详细信息。
有没有办法从系统中获取所有任务和每个任务的潜在所有者? 我发现任务服务上有一些方法,但它 returns 只是任务的一部分,没有潜在的所有者。
您可以随时查看数据库中 table PEOPLEASSIGNMENTS_POTOWNERS 和 table TASK 中的记录。您是否有权访问数据库,或者您必须从 Workbench 或 rest api 获取此类信息?
这是我的解决方案:
@Inject
TaskService taskService;
@Inject
@PersistenceUnit(unitName = "org.jbpm.domain")
private EntityManagerFactory emf;
EntityManager em = emf.createEntityManager();
CriteriaBuilder criteriaBuilder = em.getCriteriaBuilder();
final CriteriaQuery criteriaQuery = criteriaBuilder.createQuery(TaskMinimal.class);
final Root taskRoot = criteriaQuery.from(TaskImpl.class);
final TypedQuery query = em.createQuery(criteriaQuery);
List<TaskMinimal> taskMinimals = query.getResultList();
List<Task> tasks = taskMinimals.stream()
.map(minimal -> taskService.getTaskById(minimal.getId()))
.collect(Collectors.toList());
public class TaskMinimal {
private long id;
public TaskMinimal(long id){
this.id = id;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
}
如果您使用 KIE-Server,则有一个 REST API 提供所有 these.Simply 转至 :8180/kie-server/docs 了解所有详细信息。