How many files(0-15)

競馬の予想システムで一儲を企むおっさんのヨコシマな横顔

JBOSS

jbpm備忘録6 プロセスロック

Processインスタンスのロックについて調べた。結論から言うと、org.jbpm.db.GraphSession.lockProcessInstaceは、JBPMのデータJBPM_PROCESSINSTANCEテーブルをselect for updateする実装だ。lockProcessInstanceの実装は以下のようになっており、肝はsession…

jbpm備忘録5 ESBアクションのインスタンス

enchantMoonでメモしてみるシリーズ3弾。JBOSS ESBのアクションのインスタンスはアクションごとに1つだけという内容のメモ。 インスタンスが1つなので、ESBアクション内にフィールドを保持することは原則非常に危険。synchronizedとかでフィールドを保護す…

jbpm備忘録4 ActionHandler内のstaticオブジェクト

enchantMoonでメモしてみるシリーズ2弾。ActionHandler内にstaticなオブジェクトを定義した場合に、そのオブジェクトがどこまで共有されるかを実験してみた。 以下はその時の結果をメモ。結論としては、プロセス内だけで共有される。つまり同じ定義のプロセ…

jbpm備忘録3 forkのスレッド。

jBPMがらみでいくつか纏めておくこともあるので、enchantMoonを使いつつメモを作成した。fork時にfork先がそれぞれ別のスレッドで実行されることについてのメモ。 fork後に分岐するルートの各ノードは別々のスレッドで実行されるため、fork前に保持していた…

jbpm備忘録2 Nodeとアクション

ノードに対してactionを設定せずに、node-enterイベントに紐づけたActionHandlerの内部でleaveNodeするようにしたフローを実行すると、後続のノードに設定したActionHandlerが2度実行されているようで、期待している動作とは、ちょっと違った動きをしたので…

jbpm備忘録1 永続化

最近jBPMを使うことが増えたので、忘れないうちに色々まとめておこうと思う。 jBPMは複数のプロセス(フロー)がプロセス単位に動作する一種の状態マシンのようなもので、待機状態→実行状態→待機状態のようなサイクルで動作する。このサイクル中で待機状態と…