我想了解Spring如何使用Thread local
变量的一些细节
管理EntityManagers。
我的模型如下:
@Transactional
public class MyClass
{
@PersistenceContext
private EntityManager entityManager;
public void toSomethingTx()
{...}
}
让我们考虑上面的类,它是一个用@Transactional
注释并使用实体管理器的类,
注入实体管理器时注入的内容实际上是代理类
查找 ThreadScope 中的实际实体管理器以传播调用。
这样,管理用户请求的每个线程都绑定到自己的实体管理器。
如果您可以验证我的模型和/或添加更多相关信息,那就太棒了 感谢
答案 0 :(得分:-3)
java ThreadLocal机制上的Spring中继,请参阅:http://docs.oracle.com/javase/7/docs/api/java/lang/ThreadLocal.html
请注意,如果在代码中使用ThreadLocal,则必须在不需要时管理数据擦除,以避免内存泄漏。