タイトルで言ったように@PostConstruct
、セッション スコープのマネージド Bean にタグを持つメソッドがあります。しかし、メソッドが呼び出されることはありません。ビュー スコープ内の別の Bean では、正常に@PostConstruct
動作します。@Postconstruct
タグはセッション Bean で機能しますか? それは基本的に私の質問です。さようなら、そしてありがとう!
4 に答える
私も同じ問題に直面していました。この問題は、セッションからBeanを破棄すると解決されます(Beanがセッションスコープにある場合は、リクエストスコープで正常に機能します)。Beanがセッションスコープにある場合、Beanはすでにインスタンス化されてセッションに格納されているため、@PostConstructアノテーションが付いたメソッドが2回呼び出されることはありません。
Bean または Bean の前身の他のメソッドに @PostConstruct がないことを確認してください。マネージド Bean に許可される @PostConstructは1 つだけです。
また、コンストラクターが呼び出されることはありませんが、@ postconstructメソッドとコンストラクターが呼び出されないことを除いて、Beanは問題なく機能します。
変更を加えたBeanクラスをコンパイルおよびデプロイしていないか、同じ名前であるが別のパッケージにあるBeanの別のコピーがあり、実際に代わりに使用されています。
すべてを確認し、すべてをクリーンアップして、完全な再構築/再デプロイ/再起動を実行します。
セッション Bean をどのように参照しますか? Bean がまだインスタンス化されていない可能性があります。マネージド Bean のコンストラクターにもログが記録されていますか?