0

タイトルで言ったように@PostConstruct、セッション スコープのマネージド Bean にタグを持つメソッドがあります。しかし、メソッドが呼び出されることはありません。ビュー スコープ内の別の Bean では、正常に@PostConstruct動作します。@Postconstructタグはセッション Bean で機能しますか? それは基本的に私の質問です。さようなら、そしてありがとう!

4

4 に答える 4

1

私も同じ問題に直面していました。この問題は、セッションからBeanを破棄すると解決されます(Beanがセッションスコープにある場合は、リクエストスコープで正常に機能します)。Beanがセッションスコープにある場合、Beanはすでにインスタンス化されてセッションに格納されているため、@PostConstructアノテーションが付いたメソッドが2回呼び出されることはありません。

于 2012-05-26T07:03:08.157 に答える
1

Bean または Bean の前身の他のメソッドに @PostConstruct がないことを確認してください。マネージド Bean に許可される @PostConstructは1 つだけです。

于 2011-11-09T16:46:27.917 に答える
0

また、コンストラクターが呼び出されることはありませんが、@ postconstructメソッドとコンストラクターが呼び出されないことを除いて、Beanは問題なく機能します。

変更を加えたBeanクラスをコンパイルおよびデプロイしていないか、同じ名前であるが別のパッケージにあるBeanの別のコピーがあり、実際に代わりに使用されています。

すべてを確認し、すべてをクリーンアップして、完全な再構築/再デプロイ/再起動を実行します。

于 2011-11-09T16:52:14.230 に答える
0

セッション Bean をどのように参照しますか? Bean がまだインスタンス化されていない可能性があります。マネージド Bean のコンストラクターにもログが記録されていますか?

于 2011-11-07T17:15:48.443 に答える