我正在使用jbpm 6.2而我正在尝试查询尚未分配的所有任务。 TaskService似乎没有帮助(或者至少我没有找到合适的方法)。
怎么做?
答案 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);