@PostConstruct не вызывает в управляемом компоненте сеанса - PullRequest
0 голосов
/ 07 ноября 2011

Как я уже сказал в заголовке, у меня есть метод с тегом @PostConstruct в управляемом компоненте в области действия сеанса.Но метод никогда не вызывается.В другом представлении bean-компонента @PostConstruct работает нормально.Тег @Postconstruct работает в сессионном компоненте?Это в основном мой вопрос.Пока и спасибо!

Ответы [ 4 ]

1 голос
/ 26 мая 2012

Я тоже столкнулся с той же проблемой.Проблема решается, когда я уничтожаю бин из сеанса (если бин находится в области сеанса, он отлично работает для области запроса).Когда бин находится в области действия сеанса, метод с аннотацией @PostConstruct никогда не будет вызываться дважды, так как боб уже был создан и сохранен в сеансе.

1 голос
/ 09 ноября 2011

Убедитесь, что у вас нет @PostConstruct для любого другого метода в вашем bean-компоненте или предшественнике вашего bean-компонента.Для управляемого компонента разрешен только один @PostConstruct .

0 голосов
/ 09 ноября 2011

Кроме того, конструктор никогда не вызывается, но компонент работает отлично, за исключением метода @postconstruct и конструктора, которые не называются

Либо вы не скомпилировали и не развернули класс компонента с изменениями, либо у вас есть другая копия компонента с тем же именем, но в другом пакете, который, в свою очередь, фактически используется вместо этого.

Проверьте все, очистите все и выполните полную перестройку / повторное развертывание / перезапуск.

0 голосов
/ 07 ноября 2011

Как вы относитесь к сессионному компоненту?Возможно, bean-компонент еще не создан, у вас также есть вход в конструктор управляемого bean-компонента?

...