2011-02-19 11 views
1

Drools JBoss Rules 5.0でダウンロードしたサンプルを使って遊んでいます。私の救済のために、彼らは働いています:) Drools Flowはワークフローエンジンの交換の可能性として私の関心を集めています。システムクラッシュ/再起動後のプロセスの継続 - Drools Flow

私は物事に頭を抱えようとしているので、ルールフロープロセスの時期尚早の死がどのように再開されるのだろうと思いましたか?私が言っていることは、プロセスがあるノードから別のノードへ期待どおりにバウンスしていると、クラッシュや再起動などのためにプロセスを含むプロセスが終了するということです。ルールフロープロセスの現在のノード/場所は保持されていますか?システムの再起動時にその時点から継続できますか?もしそうなら、どのように?

私が働いているグループは、JBossが私たちのお気に入りのアプリケーションサーバーであるJava EE中心です。私は、DroolsがSpringの永続性とBean検索のサポートを利用している例を見ています。

JBossで同じことをする例がありますか?

答えて

2

データベース内のプロセスインスタンスとタスクの状態を保持している場合。 VMが停止して再起動した場合でも、プロセスインスタンスを取得できます。

は、セッションIDとのセッションをロードするには、セッション

ksession = JPAKnowledgeService.newStatefulKnowledgeSession(kbase,null,env)

を作成するには

を使用してください。

ksession = JPAKnowledgeService.loadStatefulKnowledgeSession(sessionId, kbase,

あなただけのセッションIDを知っておく必要があります。セッション情報は、SessionInfoテーブルに格納されます。以下のサンプルプロジェクトをダウンロードしてください。

http://dl.dropbox.com/u/2634115/drools-test.zip

例では、H2データベースとBTMを使用して、それはまた、BTMでMySQL-コネクタのJava 5.1.13でうまく動作。完了したプロセスは自動的にデータベースから削除されます。

+0

http://downloads.jboss.com/drools/docs/5.1.1.34858.FINAL/drools-introduction/html_single/index.html#d0e330も参照してください。 –

0

あなたはProcess Migrationの基本的な考え方を見ています。強力な移行として知られている処理の間、あるマシンでプロセスを停止し、プロセスの状態全体を別のマシン(プログラムカウンタと既存のすべてのスタックを含む)に移行することができます。これが完全に狂っていると思う前に、JVMの観点から考えてみてください。あなたはアプリケーションが既に仮想ハードウェアで実行されているので、完全に仮想化されているため、アプリケーションを停止して中止した場所をバックアップするのは難しくありません。

別の例をご希望の場合は、VMWareをご覧ください。マシン全体を一時停止して別のマシンに移行し、再び開始することができます。これは非常に興味深いもので、主に分散コンピューティングに関係します。分散コンピューティングでは、メンテナンスのために数多くのエージェントがマシンからマシンに移行する必要がある場合があります。

私はJBossを通じてこれの例を挙げていないことを認識しています。正確に何を探しているのかを背景にすることで、今後どのようなものを探すべきかについて、より良い見識を得ることができます。

関連する問題