Hay dos maneras que conozco para obtener una instancia EJB: inyección de dependenciasEJB3 - obtención de frijol mediante inyección frente a búsqueda: ¿cuáles son las diferencias, implicaciones, errores?
- en servlets y EJB a través de la anotación @EJB
- JNDI de búsqueda a través de cualquier parte Context.lookup
Lo que se las diferencias, implicaciones y errores en el uso de cualquiera de estos enfoques? ¿Son lo mismo? ¿La inyección de dependencia es más rápida que la búsqueda? ¿Qué pasa con el manejo de transacciones y la gestión del ciclo de vida de los objetos?
cosas yo sepa incluyen:
anotación
- obras con servlets y EJB y solamente
- sintaxis conveniente
- contenedor independiente
de búsqueda
- puede crear una instancia de diferentes implementaciones de la interfaz EJB programáticamente en tiempo de ejecución.
- funciona desde cualquier lugar, p. POJOs.
- depende de la convención de nombres de contenedor
Eso es simplemente incorrecto. Si es inyectado por el contenedor, significa que puede inyectarlo usted mismo más fácilmente en las pruebas, por ejemplo 'MyBean bean = new MyBean(); bean.injectedBean = new Mock() '. Enganchar en la búsqueda es más complicado, especialmente si el código depende de 'new InitialContext()'. ¿Cómo se devuelve una versión especial del contexto para sus pruebas? – ewernli