3

jBPM を現在のプロジェクトに統合することを検討しています。これまでのところ、耳に jpdl jar を含めて、Spring モジュール 0.8 jbpm モジュールを使用するだけで十分ですが、変更から変更への合理的な方法が必要です。デザイナでのプロセス定義から本番環境での展開まで。

パスは、多くの環境 (開発、多くのテスト、ステージング、そして本番) で反復可能である必要があり、理想的には、システム自体が実行されていない間に実行する必要があります。

定義全体を SQL スクリプトとしてパッケージ化するのが理想的ですが、processdefinition.xml から sql に変換するツールは見たことがなく、すべて手動で組み立てるのは面倒でエラーが発生しやすいようです。

他にここで経験した人はいますか?

システムは websphere 6.1 で実行されており、移行時に Java コードを実行しないようにするのが私の好みです (Java コードを実行してアーティファクトを生成し、移行中に使用することは問題ありません)。

4

3 に答える 3

1

回避策の提案: SQL クエリをデプロイしてインターセプトする

私はこれを試したことはありませんが、jBPM-console deploy servlet または

context.getGraphSession().deployProcessDefinition(processDefinition);

シャムスンダルが示唆するように

LogDriver で SQL 更新をログに記録します: http://rkbloom.net/logdriver/logdriver.tar.gz

于 2008-12-02T08:33:26.100 に答える
1

道をたどりたくない場合は.par、単純な Java コードを記述して、新しいプロセス定義バージョンをデータベースにデプロイするのは簡単です。何かのようなもの

JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance("jbpm.cfg.xml"));
ProcessDefinition processDefinition = ProcessDefinition.parseXmlInputStream(newPdStream);
JbpmContext context = jbpmConfiguration.createJbpmContext();
context.getGraphSession().deployProcessDefinition(processDefinition);

クラスパスに関連するデータベースのhibernate.propertiesまたはが必要です。hibernate.cfg.xml

この方法の優れている点は、すべてのバージョン管理が自動的に行われることです。以前はプロセス定義を変更するハックを使用していました (基本的にはバージョン管理を無視します) が、その時点でアクティブだったプロセス インスタンスにとっては大きな混乱でした。

于 2008-11-13T12:43:20.737 に答える
0

特に JBPM が提供する Ant タスク拡張機能を使用しないでくださいDeployProcessTask。単一の.parファイルとjbpm-cfg.xml、さまざまな dev/test/staging/prod 環境に対応するさまざまな環境にデプロイできます。必要な唯一の変更は、データソースを使用する代わりにデータベースに直接接続するように hibernate 構成を構成することです。

于 2008-11-05T18:33:43.767 に答える