Ошибка развертывания: внедрение Spring bean в JSF ApplicationScoped bean с eager = true приводит к ошибке в glassfish - PullRequest
2 голосов
/ 23 марта 2012

Я хочу добавить bean-компонент Spring в качестве ManagedProperty в bean-компонент jsf, который находится в области приложения и также загружен.

@ManagedBean(name="SysProps", eager=true)
@ApplicationScoped
public class SysProps {     // jsf bean

   @ManagedProperty(value = "#{systemConfigService}")
   private SystemConfigService systemConfigService;    // spring bean
}

Я хочу загрузить bean-компонент SysProps во время развертывания и вызвать один из его методов, которыйиспользует этот весенний боб.Но выдает ошибку при развертывании в Glassfish 3.1.2.Исключение составляет

com.sun.faces.mgbean.ManagedBeanCreationException: Unable to set property systemConfigService for managed bean sysProps

Это отлично работает в Jetty8, но то же самое дает ошибку в Glassfish 3.1.2. Это потому, что в glassfish приложение jsf определяло bean-компоненты с атрибутом eager true, загружаются до инициализации пружинных бобов, поэтому выдает ошибку при введении бобов.Но то же самое не относится к Jetty8 и, таким образом, прекрасно работает в нем.

Может кто-нибудь предложить мне какое-нибудь альтернативное или хорошее решение для загрузки jsf bean-объекта приложения с нетерпением (во время развертывания), в котором я должен быть в состояниизалить весенние бобы тоже?

...