@PersistenceContext EntityManager: seguridad de subprocesos en Spring y Java EE

EntityManager esno seguro para subprocesos por definición. Las especificaciones de los Servlets dicen que en un entorno no distribuido y sin implementaciónSingleThreadModel, Ahi estasolo una instancia de servlet por definición.

Por lo tanto, en Java EE cuando se inyecta unEntityManager a través de@PersistenceContext en el campo de Servlet - no es seguro para subprocesos:

<code>public class MyServlet extends HttpServlet {

    // Not thread-safe, should be using EMF instead.
    @PersistenceContext
    private EntityManager em;
}
</code>

¿Es correcto decir que a pesar de que el alcance predeterminado de los beans Spring es singleton, elEntityManager Es seguro para los subprocesos como los usos de primaveraThreadLocal para obligar a su transacción yEntityManager ¿lo?

¿El ejemplo de Servlets anterior sigue siendo válido en Spring? ¿Todavía no es seguro para subprocesos?

Hace elThreadLocal ¿El enfoque funciona solo para los frijoles manejados por Spring y el servlet simple no es uno de esos?

Por lo que recuerdo, es responsabilidad del envase inyectar elEntityManager. En la implementación de Glassfish Java EE, fue el servidor de aplicaciones el que descubrió la@PersistenceContext como punto de inyección.
¿Cómo se ve en primavera? ¿Spring Framework es responsable de descubrir esas anotaciones o es responsabilidad del implementador de JPA?

Respuestas a la pregunta(1)

Su respuesta a la pregunta