問題タブ [jberet]
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.
cdi - バッチ ジョブが完了するまでスコープが競合しますか?
技術スタック:
- JBeret (コア、SE) 1.3.0.Final
- Hibernate Search (orm、jsr352-core、jsr352-jberet) 5.10.4.Final
- Weld (サーブレット コア、se コア) 3.0.5.Final
トリガーしたら
BatchRuntime.getJobOperator().start(
MassIndexingJob.NAME,
MassIndexingJob.parameters().forEntity(getDomainObjectClass()).build()
);
次に、バッチ ジョブが終了するまで、またはであるバッチ ジョブの外部のCDI コンポーネントにアクセスできないという状況がありました。RequestScoped
SessionScoped
この問題を解決するにはどうすればよいですか?
スタックトレースの一部
注釈付き@ActivateRequestContext
は、起動/展開時にこのスタック トレースを生成します
java - Java Batch API: ItemReader.open() からスローされた例外を処理するためのリスナー
メソッドからスローされた例外を処理するために実装できるリスナー インターフェイスはありますItemReader.open()
か? 多くのリスナー インターフェイスがありますが、これに適したものはないようです。つまり、 (類似のorなど)ItemReadListener
からの例外のみをキャッチします。ItemReader.readItem()
ChunkListener
ItemProcessListener
JobListener
とインターフェースがありStepListener
ますが、これら 2 つは例外の場合に呼び出されるメソッドを定義していません。
これを行う方法はありますか?
jsr352 - jBeret + Weld SE - Batchlet からマネージド Bean を注入する
CDI を JBeret SE で動作させようとしています。これは私のコードです:
SampleBatchlet クラス
SampleBatchletTest クラス
サーバークラス
LoggerProducer クラス
問題は、Logger インスタンスが SampleBatchlet に挿入されていないのに対し、上記のテスト クラスとサーバー クラスのいずれかに正しく挿入されていることです。
ヒントはありますか?
少し更新
このリファレンスを読むことで
https://jberet.gitbooks.io/jberet-user-guide/content/batch_properties/
java.util.logging.Logger を注入できることを発見しました。
したがって、私は追加しました
値は実際には何でもかまいません..
SampleBatchletに追加しました
そして今、それは注入されています。ちなみに、別のロガー実装を使用したいので、少し当惑しています..