問題タブ [spring-batch-tasklet]
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.
java - Intellij Idea で無視されたスプリング バッチ タスクレット
春のブッチ構成ファイル:
私がそれを始めた場合:
ログを確認すると、すべてが完了していることを検出できます。
しかし
Tasklet
s は実行されませんでした。このため、私は本当に混乱しました。DB を確認しています ジョブのステータスが であることを検出しCOMPLETED
ましexit_code
たNOOP
。
また、トリガーの実行に使用.allowStartIfComplete(true)
することも検出しました。しかし、それは、同じジョブスコープで一度だけステップに使用できるハックのようなものです (同じジョブでの二重実行ステップの場合は機能しません)。例えば:step
tasklet
ターミナルでプロジェクトを開始した場合、正しく動作します。
私の環境:
- OpenJDK ランタイム環境 Zulu11.29+3-CA (ビルド 11.0.2+7-LTS)
- グラドル 5.4.1
- アイデア コミュニティ (最新バージョンをインストールしたばかり)
- OS Ubuntu 18.04
- アイデアからアプリケーションを起動するコマンドは次のとおりです。
質問
ターミナルで動作するため、アイデアに問題があると思います。私のケースの理由を分析して検出し、それを修正する方法はありますか?
PS
私はそれを修正するために次の失敗した試みをしました:
- 再インストールのアイデア;
- 準備されたソースと春のスタートからプロジェクトを再作成します。
- アイデアを再起動してキャッシュを無効にする -
java - Spring Batch ItemReader は最初の行で NullPointerException を取得します
csv ファイルを読み取ろうとすると、Spring バッチでこの問題が発生します。
次のような構造のCSVを読み取る必要があります。
String 型のFlatFileItemReaderにデリゲートするMultiResourceItemReaderがあり、後で実行されるカスタム アイテム プロセッサでこの行をカスタム DTO に簡単にマップできます。
Tasklet では、次のように MultiResourceItemReader Bean を注入しました。
次に、次のように呼び出します (リソースとコンテキストを設定します)。
ReaderItems Bean もアタッチします。