Hi,
Я не могу выполнить задачу после удаления сеанса знаний, который создал процесс владения> задачи. Я использую версию jBPM 5.3. Ниже приведена трассировка стека.
java.lang.IllegalStateException: Недопустимый вызов метода. Эта сессия была предварительно удалена.
org.drools.reteoo.DisposedReteooWorkingMemory. getWorkItemManager(DisposedReteooWorkingMemory.java:386) org.drools.impl.StatefulKnowledgeSessionImpl. getWorkItemManager(StatefulKnowledgeSessionImpl.java:311) org.drools.command.runtime.process.CompleteWorkItemCommand. execute(CompleteWorkItemCommand.java:69)
Невозможно выполнить задачи после вызова ksession.dispose в jBpm 5.3
Ответы (1)
Это потому, что после того, как вы dispose() ksession вы больше не можете его использовать. Если у вас все еще есть незаконченные задачи, у вас есть 2 варианта:
- Не удаляйте сеанс, пока все его задачи не будут выполнены (или внутри него не будут запущены экземпляры процесса).
- Если вы удалили сеанс и используете постоянные сеансы, вы можете перезагрузить его из базы данных с помощью класса JPAKnowledgeService ПЕРЕД выполнением задачи.
Когда задача завершается в jBPM5, сеанс, создавший задачу, ДОЛЖЕН быть активен (должен находиться в памяти) и доступен (не удален).
С уважением,
person
Esteban Aliverti
schedule
30.10.2012
Спасибо, Эстебан, за ваше предложение. Я попробовал вариант 2, и он сработал.
- person sriram; 07.11.2012