0

現在、それぞれの wildfly 9.0 インスタンスで実行されている一連のサービスがあります。それらのいくつかには、jberet 1.2.0 を使用して実装されたバッチ ジョブがあります。

各 wildfly インスタンスには、サービス用の 1 つのデータソース (jdbc、oracle) と、定義された jberet 用の 1 つのジョブ リポジトリがあります。現在、jberet テーブルは、このワイルドフライ インスタンスの単一のデータ ソースのデータベースに配置されています。

現在、すべてのバッチ ジョブを別のワイルドフライ インスタンスに移動して、バッチによって生成された負荷を他のワイルドフライ インスタンスから切り離しています。

これで、x 個のデータソース (サービスごとに 1 つ) を持つ 1 つの standalone.xml ができました。

job-repository/-ies を定義するベスト プラクティスは何ですか?

  • jberet のみを含むデータソース (新しい DB) を指す 1 つの別個のジョブリポジトリ
  • そのサービスのデータソースを指すサービスごとに1つのジョブリポジトリ(それは可能ですか?どうやって? https://github.com/fcorneli/jberet-eap6/blob/master/eap6-batch/src/main/ resources/schema/wildfly-batch_1_0.xsd可能ではないと思います/意図していません。)
  • jberet データをいずれかのサービスの既存の DB の 1 つに入れます (どちらを選択するか? 負荷、サイズ?)
4

1 に答える 1

1

war-fileが 1 つしかデプロイされていない場合: 現在、ジョブ リポジトリは 1 つしか持てません。

1 つの Wildfly インスタンスに複数の war ファイルをデプロイしている場合: バッチ アプリケーションに WildFly 10 を使用できる場合は、jboss-all.xmlデプロイメント記述子を使用して、デプロイメントごとに異なるジョブ リポジトリを定義できます。

それらをすべて同じデータベースに追加したい場合は、APPLICATIONNAMEフィールドにフィールドがあり、JOB_INSTANCEそれらがどのアプリからのものかを確認できるようにする必要があります。名前は から解決されますjava:app/AppName。これは、表示しているアプリケーション ジョブを除外するのに役立つ場合があります。

于 2016-11-15T01:22:56.827 に答える