gpt4 book ai didi

java - 来自HttpSessionListener的sessionCreated()是否自动与request.getSession()同步?

转载 作者:行者123 更新时间:2023-12-03 13:09:15 26 4
gpt4 key购买 nike

sessionCreated()中的HttpSessionListener方法是否自动与request.getSession()调用同步?特别是,我想知道在sessionCreated()方法中设置 session 属性并在servlet中使用request.getSession().getAttribute("something")检索属性是否线程安全?
例如,具有线程安全性吗

@Override
public void sessionCreated(HttpSessionEvent se) {
se.getSession().setAttribute("something", new Something());
}

HttpSessionListener中,并具有
Something something = (Something) request.getSession().getAttribute("something");
synchronized(something){
// do anything with this "something" object
}
doGet()HttpServlet?方法内部我要注意的是,如果此 sessionCreated()方法未自动与 requested.getSession()同步,则 getAttribute("something")返回的值可以是 null

最佳答案

这两个方法调用至少在Tomcat中在同一线程中执行。我使用log4j通过打印线程ID对其进行了检查。因此,至少在Tomcat中,上述方法调用的组合是线程安全的。

关于java - 来自HttpSessionListener的sessionCreated()是否自动与request.getSession()同步?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42051883/

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