gpt4 book ai didi

java - 如何确保从同一线程调用的方法使用相同的数据库 session

转载 作者:行者123 更新时间:2023-11-30 07:38:22 24 4
gpt4 key购买 nike

在我们的系统中,我们有多线程处理引擎。在处理过程中,每个线程调用方法从数据库中检索数据。我们确定,如果从同一个线程调用的方法使用同一个数据库 session ( session 当然来自池),性能会大大提高。

Spring 中是否有任何标准方法来确保这样的事情,或者我们必须提出自己的自定义解决方案?

更新:忘记提及相同的方法可以在不同的上下文中调用,在不同的上下文中它们应该使用标准方法从池中获取 session

最佳答案

我在你的问题中没有看到 Spring。所以我假设您需要一个简单的实用程序来执行此操作。

class SessionUtil {
private ThreadLocal currentSession;

public Session getCurrentSession() {
if(currentSession.get() == null) {
Session s = //create new session
currentSession.set(s);
}
return (Session)currentSession.get();
}
}

Thread local 将确保在同一个线程内它始终是同一个 session 。如果您使用的是 Spring,那么上面提到的类/实用程序(在其他响应中)应该是完美的。

关于java - 如何确保从同一线程调用的方法使用相同的数据库 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2015350/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com