問題タブ [jsr352]
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.
spring-batch - JSR 352 Spring バッチと Java EE の比較
JSR 352、Spring Batch、および Java に関するいくつかの質問
1) 誰かが Java を使用して、Spring Batch でバッチ JSR-352 アプリケーションを構築するのはいつですか? 私の最初の見解は、Spring Batch よりも Java でより多くのコーディングが必要になるということです。
2) Java EE のバージョン 7 は JSR-352 を実装しましたか? それとも、仕様が発表されたばかりで、開発者はそれを実装する必要があるのでしょうか? Spring Batch はそれを実装しており、開発者のコーディング時間を節約していますか?
java - 「batchPropertyPostProcessor」という名前の Bean の作成中に、バッチ ジョブの初期化がエラーで失敗する
JSR-352 API と Spring Batch 3.0.4 を実装としてサンプル バッチ アプリケーションを実装しようとしています。
「batchPropertyPostProcessor」という名前の Bean を作成中にエラーが発生し、初期化フェーズ中にバッチ ジョブの実行が失敗する:
私のバッチランナー:
私のsampleJob定義:
リーダー、ライター、プロセッサー、リスナーの Spring Bean 構成
リーダー、ライター、およびプロセッサは、Spring によってインスタンス化され、ジョブ実行で適切に使用されます。リスナーをジョブ定義に追加すると、動作しなくなりました。
コードをデバッグしたところ、dataListingStepListener Bean が Spring コンテキストで初期化されていることがわかりました。<listener ref="dataListingStepListener"/>
リスナーへの参照 ( ) が Spring Bean として認識されず、Spring が代わりに「dataListingStepListener」という名前のクラスをロードしようとしている理由がわかりません。
私の設定は大丈夫ですか?私は何か間違ったことをしていますか?
java - JSR 352 分割チャンク処理
JSR 352 モードの Spring Batch でチャンク ステップ (リーダー - プロセッサ - ライター) を実行しようとしています。MyItemReader
パーティショニングがすべてのパーティションに対してバッチ Artifacts ( ) の新しいインスタンスを作成するのか、それとも Artifacts がステートフルなのか (つまり、Artifact で定義されたグローバル変数が複数のスレッドで再利用され、スレッド セーフではないのか)を知りたいと思いました。
ありがとう
spring-batch - Spring バッチ、アイテム プロセッサで実行されるトランザクション アイテムのロールバックを管理
これには JSR ジョブの使用が含まれるため、ジョブ仕様でタスクレット定義を使用するためのアクセス権がありません。私が与えられた指示は、ジョブ仕様に関する限り、JSR 352 機能のみをサポートすることです。
ジョブの例を次に示します。
ItemProcessor では、たとえば、書き込みステップ中にチャンクが失敗した場合に、内部で発生するトランザクション項目のロールバックをトリガーできる何らかのタイプのコールバック/リスナーを持つことに興味があります。
したがって、良い例は、ItemProcessor で発生するある種の db または jms 操作があることです。ライター部分でチャンクが失敗した場合、この反復の一部であったアイテム プロセッサ中に発生したすべての操作 (またはアイテム数が 1 を超えるいくつか) をロールバックしたいと考えています。
jsr 仕様に基づいて利用可能なさまざまなリスナーを調べましたが、このタイプの実装を許可するものはないようです。また、Spring は、真の Spring バッチの場合のようにプロセッサをトランザクションにラップしていないようです。データベース接続を作成し、それらがトランザクション対応であるかどうかをテストする際に行ったテストでは、常に false が返されました。
私が探しているのは、完全にカスタムの実装以外でも可能であり、そうであればそれを達成する方法についてのガイダンスです。
spring-batch - ジョブ完了の最良のアプローチのための春のバッチチェック
ジョブリスナーを使用しない春のバッチジョブが完了したかどうかを判断するための最良の方法を探しています。私はjsr準拠のコンポーネントを使用しています。ジョブ リスナーがない理由は、エンド ユーザーがジョブを正しく定義してリスナーを含めることに依存したくないからです。
これまでに思いついた唯一のアプローチは、これを開始/再起動を呼び出しているクラスに入れることです
私がここで抱えている問題は、これがデータベースにクエリを実行することであり、かなり長時間実行されているジョブでは、ステータスを取得するために何千回もデータベースにクエリを実行できます。より良いアプローチがあるはずです。オペレーターまたはその他のオブジェクトがデータベースにアクセスすることなくジョブの現在のステータスを取得できるメモリ内の場所。あるいは、ジョブ仕様で定義することなくコールバックを行う方法かもしれません。
java - Java バッチ (JSR-352) とセッション コンテキスト CDI
Java Batch (JSR-352) を使用していますが、その中でセッション Bean を操作することはできますか? バッチプロセスを実行しているユーザーのタイプを区別するために、 @SessionScope アノテーションを付けた Bean が必要でした。
仕様内でセッション コンテキスト CDI を使用できますか? 可能であれば、どのように最善の方法をとりますか
spring-batch - Springバッチjsr 352スキップ制限無制限のデフォルトを取得する方法または無制限に設定する方法
非常に大きな整数値をランダムに定義するだけで、skip-limit に無制限の値を設定する方法を見つけようとしています。
jsr 352 には、「デフォルトは制限なし」と明確に記載されています。しかし、スキップ可能な例外を実際に定義するときにデフォルトを取得する方法がわかりません。
0 と -1 を試しましたが、どちらも、ジョブの作成時にスプリング バッチがステップで行う正数の検証に失敗します。スキップ可能な例外が定義されているときにskip-limit属性が追加されていないと、エラーが生成され、ジョブが開始されません。
私は仕様が言っていることを誤解していますか、それとも春のバッチがこのインスタンスでjsrを正しく実装していませんか. skip-limit にはデフォルトで無制限の値を設定する何らかの手段が必要であることは明らかです。