gpt4 book ai didi

java - org.apache.catalina.core.StandardContext 重新加载后 transient 变量为空

转载 作者:行者123 更新时间:2023-11-28 23:40:05 25 4
gpt4 key购买 nike

我在一个类中有一个变量是 transient 的,因为它不是序列化的,只有当 tomcat 是 org.apache.catalina.core.StandardContext 时重新加载这个相同的变量是 null,不要知道为什么...

public class bean extends UnicastRemoteObject implements clientInterface{
(...)
private transient OAuthService service;
(...)
}

当它出现在 netbeansApache tomcat 日志 org.apache.catalina.core.StandardContext 重新加载时,这个变量为 null .. ..

谁能告诉我为什么?

最佳答案

如果变量属于以某种方式附加到 HTTP session 的对象,就会发生这种情况。

重新加载后, session 的内容被序列化,一个新的类加载器被创建,然后 session 被反序列化。

因此,如果变量被标记为 transient ,则它不会被序列化,并且当重新加载完成时,它的内容将为空。

参见 tomcat documentation Persistence across Restarts 序列化和重新加载之间关系的部分,以及此 blog post session 持久性,了解有关 tomcat 如何处理重启的一些详细信息。

关于java - org.apache.catalina.core.StandardContext 重新加载后 transient 变量为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20543642/

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