Todos sabemos que en el nivel web existe la posibilidad de que exista una sola instancia de un Servlet dado que atienda múltiples solicitudes. Esto puede llevar a problemas de enhebrado en variables de instancia.¿Es seguro inyectar un EJB en un servlet como una variable de instancia?
Mi pregunta es, ¿es seguro inyectar un EJB usando la anotación @EJB en un servlet como una variable de instancia?
Mi instinto inicial sería no, bajo el supuesto de que la misma instancia del EJB atendería múltiples solicitudes al mismo tiempo. Parecería que esto también sería el instinto de una serie de otros programadores: Don't inject to servlets
Sin embargo, he saltado a la conclusión equivocada. Claramente, lo que se inyecta en el servlet es un proxy, bajo el capó ¿realmente el contenedor sirve cada solicitud con una instancia diferente y mantiene la seguridad del hilo? Como este foro sugeriría: Do inject to servlets
Parece que hay muchas opiniones contradictorias. ¿¿¿CUAL ES CORRECTA???
Esta respuesta es correcta hasta donde llega, pero no aborda las preocupaciones de seguridad de los hilos del OP. Creo que la respuesta de inferreddesign a continuación debería ser la correcta. –
Supongo que un EJB inyectado con @Inject (CDI, JEE 6) será igual de seguro, ¿no? – marcus