2016-09-25 10 views
-1

私はActiviti.Iの方がはるかに新しいです。特定の質問があります.2つのインスタンスと2つの共用リポジトリで実行されている2つのativitiエンジンがあるとします。現在インスタンスAでタスクを開始し、Activitiのデフォルトの性質のためにタスクを中断して突然起動した場合、そのインスタンスはB.によって選択されます.2つのインスタンスが異なるバージョンのソフトウェアを実行しているので、私は起こりたくありません。私は以下の動作が必要です "インスタンスAで開始されたジョブは、アクティビティAで終了する必要がある場合にのみ、アクティビティAで終了する必要があります。"それは可能ですか?Activiti Clustering

アドバンスで多くの感謝!

答えて

0

Activitiのデフォルトの動作では、インスタンスAで作成されたジョブもインスタンスAによって処理されます。ジョブを再試行する必要がある場合のみ、インスタンスBがそのジョブを処理する可能性があります。インスタンスAで作成されたジョブが常にインスタンスAによって処理されるようにするには、デフォルトのジョブエグゼキュータを拡張し、追加のジョブハンドラの設定値を設定する必要があります。ジョブが実行される前に、この設定値をチェックして、インスタンスAでジョブが作成されたことを検証できます。

インスタンスAが停止している場合、インスタンスAのジョブはデフォルトジョブ実行プログラムもはや実行されません。あなたのユースケースでは、Activitiのデータベースを別々に使用する方が理にかなっていますか?

+0

ありがとう、Tijsの迅速な返信!!! 追加のジョブハンドラの設定値を設定するためのデフォルトのジョブエグゼキュータを拡張するための参考資料/例を入手できますか? 私は実際に別々のActivitiデータベースを使用するこの方向で考えていました。 –