問題タブ [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.

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

java - Intellij Idea で無視されたスプリング バッチ タスクレット

春のブッチ構成ファイル:

私がそれを始めた場合:

ログを確認すると、すべてが完了していることを検出できます。

しかし

Tasklets は実行されませんでした。このため、私は本当に混乱しました。DB を確認しています ジョブのステータスが であることを検出しCOMPLETEDましexit_codeNOOP

また、トリガーの実行に使用.allowStartIfComplete(true)することも検出しました。しかし、それは、同じジョブスコープで一度だけステップに使用できるハックのようなものです (同じジョブでの二重実行ステップの場合は機能しません)。例えば:steptasklet

ターミナルでプロジェクトを開始した場合、正しく動作します。

私の環境:

  • OpenJDK ランタイム環境 Zulu11.29+3-CA (ビルド 11.0.2+7-LTS)
  • グラドル 5.4.1
  • アイデア コミュニティ (最新バージョンをインストールしたばかり)
  • OS Ubuntu 18.04
  • アイデアからアプリケーションを起動するコマンドは次のとおりです。

質問

ターミナルで動作するため、アイデアに問題があると思います。私のケースの理由を分析して検出し、それを修正する方法はありますか?

PS

私はそれを修正するために次の失敗した試みをしました:

  • 再インストールのアイデア;
  • 準備されたソースと春のスタートからプロジェクトを再作成します。
  • アイデアを再起動してキャッシュを無効にする
  • -
0 投票する
1 に答える
2594 参照

java - Spring Batch ItemReader は最初の行で NullPointerException を取得します

csv ファイルを読み取ろうとすると、Spring バッチでこの問題が発生します。

次のような構造のCSVを読み取る必要があります。

String 型のFlatFileItemReaderにデリゲートするMultiResourceItemReaderがあり、後で実行されるカスタム アイテム プロセッサでこの行をカスタム DTO に簡単にマップできます。

Tasklet では、次のように MultiResourceItemReader Bean を注入しました。

次に、次のように呼び出します (リソースとコンテキストを設定します)。

ReaderItems Bean もアタッチします。