やあ、
タスクの所有プロセスを作成したナレッジ セッションを破棄した後、タスクを完了できません。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)
1803 次
1 に答える
1
これは、ksession を dispose() すると、もう使用できないためです。保留中のタスクがまだある場合は、次の 2 つのオプションがあります。
- すべてのタスクが完了するまで (またはセッション内で実行されているプロセス インスタンスがなくなるまで)、セッションを破棄しないでください。
- セッションを破棄し、永続セッションを使用している場合は、タスクを完了する前に、JPAKnowledgeService クラスを使用してデータベースから再ロードできます。
jBPM5 でタスクが完了すると、タスクを作成したセッションがアクティブ (メモリ内にある必要があります) で、利用可能 (破棄されていない) である必要があります。
よろしくお願いします、
于 2012-10-30T08:42:16.083 に答える