Pregunta

Estoy tratando de utilizar JNDI para obtener un nuevo bean de sesión con estado en un servlet (como una variable local). Mi método doGet() tiene la siguiente:

Bean bean = (Bean) new InitialContext().lookup("beanName");

He intentado incluyendo java:comp/env pero todos mis intentos han conducido a nombrar excepciones.

Estoy tratando de obligar a la de frijol en la anotación @Stateful, utilizando diversas conjeturas como @Stateful(name="beanName") y @Stateful(mappedName="beanName")

¿Fue útil?

Solución

Lo que necesitaba era utilizar la anotación @EJB en el servlet a nivel de clase, de la siguiente manera:

@EJB(name="beanName", beanInterface = Bean.class)

A continuación, las operaciones de búsqueda en el método de servicio que puede suceder con el nombre obligado por la anotación @EJB:

Bean beanInstance = (Bean) new InitialContext().lookup("java:comp/env/beanName");

No hay necesidad de nada en la propia clase Bean, que no sea la anotación @Stateful sin formato.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top