Estoy desarrollando un sistema web usando JSF 2 en la capa de presentación y EJB 3.1 Lite en la capa de negocio.
Tengo un bean (que no es un EJB) en la capa de negocio y quiero inyectarlo en un ManagedBean de la interfaz gráfica.
Este es el bean de la capa de negocio:
Código:
Este es el ManagedBean de la capa de presentación.@Singleton @Named public class SysSettings { // metodos y propiedades public void fooMethod() { // implementacion de fooMethod } }
Código:
Como se puede ver, desde MyManagedBean trato de acceder e invocar al método fooMethod de la clase SysSettings, que está inyectada en esta clase.@ManagedBean @ApplicationScoped public class MyManagedBean { @Inject private SysSettings sysSettings; public void beanMethod() { sysSettings.fooMethod(); } }
Actualmente, el problema que tengo es que la inyección no funciona, y cuando el método beanMethod se ejecuta, el contenedor larga un NullPointerException ya que la propiedad sysSettings es null.
Mi pregunta es ¿Es posible inyectar un CDI Bean en un ManagedBean de JSF2?
Si la respuesta es SI, entonces ¿Como puedo hacer tal inyección?
Muchas gracias por su tiempo.