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

时间:2016-05-25 00:34:23

标签: jbpm

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

怎么做?

1 个答案:

答案 0 :(得分:0)

我是使用BAMTASKSUMMARY表做的,不知道这是否是唯一的方法。

为此,我首先在RuntimeManager上尝试了BAMTaskEventListener(所以它开始记录到表中):

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);