問題タブ [spring-batch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
3933 参照

spring-batch - Spring Batch は行き過ぎですか

週に 1 回 CSV をデータベースにロードする必要があります。CSV ファイルには 2 つのテーブルのデータがあるため、データ マッサージが必要です。そのため、CSV ファイルを少し処理し、おそらく 2 つの異なる CSV ファイルに変換して、データベースにロードする必要があります。

私はすでに石英を配置しています。スプリングバッチを使って仕事をするのはやり過ぎだと思いますか? 私はいつそれを使うべきなのか、いつクォーツビーンをやめて処理自体をやるべきなのか疑問に思っています.

0 投票する
3 に答える
3717 参照

transactions - Spring Batch のチャンク指向処理戦略のロールバック機構

ご存知のように、Spring バッチはバージョン 2.0 以降、チャンク指向の処理を使用しています。

アイテム ライターで例外が発生した場合、データ ソース トランザクション マネージャーはチャンク全体または関連アイテムのみをロールバックするということですか?

実際に試してみたところ、フレームワークがチャンク全体をロールバックすることがわかりました。最後のアイテムで例外がスローされたときに、正常に処理された 499 個のアイテムが 500 個のアイテムで構成されるチャンクにロールバックされることを望まないため、これは必要ありません。

私が見つけた唯一の解決策は、以下の属性をタスクレットに追加することです。ただし、これが正しいことかどうかはわかりません。

もう 1 つの意見は、単にチャンク サイズを 1 に減らすことでしたが、これもあまり意味がありません。

おそらく、Spring Batch は私の問題ドメインには適していません。もしそうなら、そのようなフレームワーク固有の動作にもう苦労しないように教えてください。

どんな提案でも大歓迎です。

0 投票する
2 に答える
4387 参照

spring-batch - CommandLineJobRunner を使用して Spring バッチのアプリケーションを実行する方法

データベースからデータを読み取り、Dドライブに配置されたファイルにデータを入力するSpring Batchを使用してアプリケーションを作成しています。アプリケーションにエラーはありませんが、アプリケーションを実行するとコンソールに例外が表示されません。実際、コンソールは完全に空白です。アプリが実際に実行されているかどうかはわかりません。ジョブを実行するために CommandLineJobRunner クラスを使用しています。

皆様のご意見大変参考になります。ありがとう

0 投票する
2 に答える
6998 参照

spring - 春のバッチ:同じ初期データのreader.processor、readerをチェーンしますか?

私は春のバッチが初めてで、バックグラウンド処理プロジェクトの技術を研究しています。私はドキュメントを読みましたが、それが私の質問に答えているかどうかわかりません。したがって、データの同じ「ストリーム」に対して以下をチェーンする必要があります。読み取り、検証/処理、および新しいデータの再読み取り (基本的には、プロセッサに挟まれた複数のリーダーを介して同じデータをパイプします。自分自身を表現しているかどうかはわかりませんが、明確かもしれません。プロセッサの注入が実行可能かどうかわからない アイデア、意見など ありがとう

0 投票する
1 に答える
3166 参照

database - スプリングバッチによるデータのマルチスレッド処理

春のバッチに関する単純な(そう思う)問題のヘルプを探しています。私の仕事は、データベースからトランザクションのリストを読み取り、それらを口座番号と日付順にグループ化し、後で特定の口座番号の一連のトランザクションに対して何らかの処理を行うことです。データを読み取って口座番号でグループ化すると、これらのチャンクを処理できます並行して。このようなすべての操作により、アカウントの残高が更新されます。私は春のバッチが初めてで、春の構成の例を探しています。手伝って頂けますか?

0 投票する
1 に答える
13394 参照

spring - コマンドラインパラメーターをSpringバッチジョブに取得する方法

春のバッチジョブを実行するために CommandLineJobRunner を使用しています。パラメータのセットを渡したいのですが、いくつか問題が発生しています。これは私のステップです:

CommandLineJobRunner は次のことを報告します。

しかし、私の ReportItemReader では、3 つのパラメーターはすべて完全な値に解決されます。

つまり、Spring バッチは #{JobXYZ['parm name'] を解決していないようです。

春にその構文を解決してプロパティ検索を行うには、何か特別なことをする必要がありますか? これを機能させるには、JobParameters オブジェクトまたは何かを接続する必要がありますか?

ところで - 私は Spring Batch 1.1.4 を使用して Java 1.4.2 との互換性を維持しています。

0 投票する
4 に答える
13676 参照

spring - Spring Batch - ItemReader がデータを返さないときにジョブを失敗させる方法

JdbcCursorItemReader を使用して DB テーブルからデータを読み取り、FlatFileItemWriter を使用してフラット ファイルに書き込む春のバッチ アプリケーションがあります。

アプリケーションをテストすると、JdbcCursorItemReader を介して DB からデータが返されない場合でも、FlatFileItemWriter がファイルを作成することがわかります。しかし、DBに適切なデータがない場合、仕事を失敗する予定です。そうすることは可能ですか、少なくとも FlatFileItemWriter がファイルを作成するのを防ぐことはできますか?

よろしく

0 投票する
1 に答える
1655 参照

spring-batch - Spring Batch: リーダーが null を返しても ReadListener afterRead が呼び出される

私が理解している限り、リーダーは、読み取るアイテムがこれ以上ない場合、「読み取り終了」を示す「null」を返すことになっています。それがリーダーの契約である場合、フレームワークはこの「null」を理解し、ReadListener の「afterRead」を呼び出さないと想定しました。ただし、「null」パラメータで「afterRead」を呼び出しているようです。

spring-batch 2.1.7 を使用しています。これが予期された動作なのか、それとも何か不足しているのかをお知らせください。

ジョブ構成は次のとおりです。

0 投票する
2 に答える
4049 参照

parallel-processing - spring batch - データベースから複数ファイルへのジョブ

データベースからレコードを取得し、各チャンクを個別のファイルに書き込む春のバッチでチャンク指向のステップを実装しようとしています。たとえば、DB に 500 のレコードがあるとします。それぞれ 50 個のレコードを持つ 10 個のファイルを作成する仕事が必要です。

PS: 主な目的は、出力ファイルを同時に作成することです。ItemWriter の実装はスレッド セーフではないため、ステップの完了にかかる合計時間を短縮できるように、出力として個別のファイルを作成することにしました。

Spring Batchで実装する方法を知っている人はいますか? パーティショニングを使用して複数のファイルを並行して処理するサンプル プロジェクトを見つけましたが、それはまさに私がやりたいことではありません。私の場合、入力は単一のテーブルですが、出力は複数のファイルです。

ここにリンクがあります:FileParallelProcessing

0 投票する
0 に答える
922 参照

java - スプリングフレームワークでクォーツを使用してJavaリモートデバッグを有効にするにはどうすればよいですか?

Spring-Batch を使用するアプリケーションがあり、そのジョブは Quartz を介して起動されます。

問題は、アプリケーションがデバッグ モードをオンにして開始することです。いくつかのブレークポイントを設定しましたが、アプリケーションがブレークポイントで停止しません。

ポートをテストし、一時停止モードでデバッグを有効にして、アプリがデバッグ ポートに適切に接続されていることを確認しました。

一方、Spring-Core を使用する他のアプリケーションをテストしたところ、すべて正常に動作しました。唯一の問題は、Spring-Batch と Quartz を使用するアプリでデバッガーが動作しないことです。

何が起こっているか知っている人はいますか?デバッガーがブレークポイントで停止しないのはなぜですか? デバッグを許可するために、Quartz または spring-batch で何かを構成する必要がありますか?

事前にどうもありがとう