10 分ごとに実行されるバックグラウンド サービスがあります。
このサービスは、実行するジョブを DB にクエリし、ジョブに応じて (Class.forName() を使用して) 異なるビジネス ロジックを持つクラスをロードします。もちろん、それらは同じインターフェースを実装しています。
これらのクラスを SEAM コンポーネントとして宣言しましたが、entityManager または Logger を使用しようとすると NPE が発生します。
私自身の質問に答えると、これは Class.forName() が SEAM の注入メカニズムの下にあり、依存関係を注入する機会がないためだと思います。
クラスをロードした後、それらを自分で注入することで、おそらくそれを回避できます。それを行うより良い方法はありますか?
ありがとう!