JBPM6.2当我重新启动系统时,这将抛出异常

时间:2016-03-15 12:46:03

标签: java jbpm jboss6.x

我已经使用服务任务定义了一个进程,除了这种情况之外它工作得很好,当它有一个正在运行的任务时,我重启我的程序然后它会抛出这个异常。这是我的代码:

EntityManagerFactory emf = Persistence.createEntityManagerFactory("org.jbpm.persistence.jpa");

kBuilder = RuntimeEnvironmentBuilder.Factory.get().newDefaultBuilder();
kBuilder.entityManagerFactory(emf);

try {
    addAsset(resources);

    DBUserGroupCallbackImpl callback = new DBUserGroupCallbackImpl(props);
    setUserGroupCallback(callback);

    runtimeManager = RuntimeManagerFactory.Factory.get().newSingletonRuntimeManager(kBuilder.get());
    runtime = runtimeManager.getRuntimeEngine(EmptyContext.get());
} catch (RuntimeException e) {
    logger.warn(e.getMessage());
}

当我调试过程时,我发现: runtimeManager = RuntimeManagerFactory.Factory.get().newSingletonRuntimeManager(kBuilder.get());

此行抛出异常,我想知道为什么?它是如何发生的?

PS:我使用mysql作为持久性 请参阅错误here

1 个答案:

答案 0 :(得分:0)

最后我发现这是因为我注册了服务任务的工作处理程序,当进程运行时它会稍后注册工作处理程序,但是当系统重新启动时,工作处理程序不会立即注册,所以它将抛出此异常,这是我的代码,当它重新启动时,我立即注册工作处理程序。

ServicesInstance.jbpmService.registerWorkItemHandler(“SendAlarmProcess”,new AutoServiceImpl());