Java EE 7、CDI、JPA、および JSF を試しています。
webapp が起動したら、CDI Bean (@PostConstruct でマーク) で初期化メソッドを実行して、データベースで何らかの作業を行います (いくつかの行を挿入するなど)。これにはトランザクションが必要ですが、これは思ったほど簡単ではありませんでした。
メソッドに @Transactional アノテーションを追加しようとしましたが、明らかに EJB でしか機能しません。実際に Bean を CDI Bean ではなく EJB に変換しようとしましたが、まだ @PostConstruct メソッドへのトランザクションを取得できませんでした。Bean の他のメソッドでは機能しましたが、私の @PostConstruct 初期化メソッドでは機能しませんでした。
次に、CDI Bean へのトランザクションを取得するためのメソッド インターセプターの作成について読みました。
http://eubauer.de/kingsware/2012/01/16/cdi-and-transactions-eg-in-jboss-7-0-2/
私もこれを試しましたが、うまくいきませんでした。どちらも機能しません。
では、CDI Bean の @PostConstruct 初期化メソッドへのトランザクションをどのように取得するのでしょうか?