0

次のことを行うSpring-Batchプロセスがあります。

  1. ステップ:
    1. XML をステージング テーブルにスクレイピングします (JibX から Hibernate へ)。
    2. ステージングされたデータの初期状態を検証する
    3. 専念
  2. ステップ:
    1. ステージング テーブルをステージングに変換します (すべて SQL 内)。
    2. ステージングされたデータの最終状態を検証します。
    3. 専念。
  3. ステップ
    1. ステージングをウェアハウスに変換します (すべて SQL 内)。
    2. 検証
    3. 専念

私のデータは 1 つの大きな塊になるので、進行中にデータが追加されてステージ テーブルがいっぱいになることはありません。これにより、手順を変更し、途中でトランザクションを手放すことができます。(また、ステップ1-1をチャンクすることもできます)

JMS バージョンに関する私の一般的なアイデアは、JMS メッセージを受け入れ、それを使用してデータをステージング テーブルに配置し、ジョブをトリガーして、検証のために現在行っていることを実行してから、ウェアハウスに変換することでした。次に、ジョブの成功/失敗を使用して、アイテムの送信者への応答を促進します。

残念ながら、Spring Batch はジョブレベルのトランザクションのアイデアを (直接) サポートしていないため、すべてのタスクレットをトランザクションの ur-tasklet に詰め込むよりも、これを行うためのより適切な方法はありますか?

4

0 に答える 0