jbpm - 查询所有未分配的任务

jbpm - query all unassigned tasks

我正在使用 jbpm 6.2,我正在尝试查询所有尚未分配的任务。 TaskService 似乎没有帮助(或者至少我还没有找到合适的方法)。

如何做到?

我使用 BAMTASKSUMMARY table 完成了它,不确定它是否是唯一的方法。

为此,我首先在 RuntimeManager 中尝试了 BAMTaskEventListener(因此它开始记录到 table):

DefaultRegisterableItemsFactory registerableItemsFactory = new DefaultRegisterableItemsFactory();
registerableItemsFactory.addTaskListener(BAMTaskEventListener.class);
emf = Persistence.createEntityManagerFactory("org.jbpm.persistence.jpa");
RuntimeEnvironmentBuilder builder = RuntimeEnvironmentBuilder.Factory.get()
        .newDefaultBuilder().entityManagerFactory(emf).registerableItemsFactory(registerableItemsFactory)
        .knowledgeBase(kbase);

使用该代码我遇到了问题,BAMTaskEventListener 在 jbpm 6.2 中没有空构造函数并且在实例化中存在问题......我扩展它以添加一个空构造函数并且它工作正常:

public class BAMTaskEventListenerExt extends BAMTaskEventListener{

    public BAMTaskEventListenerExt() {
        super(null);
        // TODO Auto-generated constructor stub
    }

    public BAMTaskEventListenerExt(boolean flag) {
        super(flag);
        // TODO Auto-generated constructor stub
    }

    public BAMTaskEventListenerExt(EntityManagerFactory emf) {
        super(emf);
        // TODO Auto-generated constructor stub
    }

}

然后注册:

DefaultRegisterableItemsFactory registerableItemsFactory = new DefaultRegisterableItemsFactory();
registerableItemsFactory.addTaskListener(BAMTaskEventListenerExt.class);