- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
注意:除非您非常熟悉 Java、Spring AOP 和 Tomcat,否则这没有任何意义。
问题是标记为@Configurable 的 bean 在被 Tomcat SESSIONS.ser 反序列化时不会被注入(inject)。
我在一个基于 Struts 1.2.9 的(遗留)应用程序上注意到了这种行为,该应用程序使用 Spring 2.5.4、spring-tomcat-weaver-2.5.4、Tomcat 6.0.14。
代码:
public class MyForm implements Serializable {
private Foo myFoo; // getters and setters
}
public class Foo imlements Serializable {
private Bar myBar; // getters setters
}
@Configurable("barTemplate")
public class Bar implements Serializable {
@Autowired(required=true)
private transient SessionFactory hello;
// other transient dependencies ...
}
XML 将 Bar 配置为原型(prototype) bean。
应用了正确的 context:spring-configured 和 context:load-time-weaver 设置等(因为它适用于 Tomcat 的冷启动)。
第一次启动时一切正常。但是,重新启动 Tomcat 会导致写入 SESSIONS.ser 并在重新启动时反序列化 MyForm,它确实这样做了。但是,Bar 中的依赖项均未设置!
但如果我关闭 Tomcat,删除 SESSIONS.ser 文件,然后重新启动,那么一切都会正常。
奇怪。
非常感谢任何建议。
最佳答案
我将跳过 Spring 部分,因为我不这样做。然而,我必须承认,我也希望 Spring 足够聪明,可以在反序列化后重新注入(inject)它们(编辑:这似乎是 Spring 2.5.2 中的 fixed?)。
解决方法 之一是在 Tomcat 关闭/启动期间禁用 session 序列化。通过这种方式,您将从一个全新的 session 开始,一切都将被全新构建和注入(inject)。然而,缺点是每当 Tomcat 重新启动时,最终用户将丢失他们的 session 数据。
为此,添加一个 <Manager>
具有空 的元素 pathname
到 <Context>
有问题的 webapp 的元素。
<Context ...>
<Manager pathname="" />
</Context>
这基本上指示 Tomcat 完全不使用 session 管理器。
关于java - 在 Tomcat 从 SESSIONS.ser 反序列化后,你如何依赖注入(inject)标记为 @Configurable 的 bean?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4839358/
我正在尝试加载我不久前创建的类的 .ser 文件。 但是我收到了ClassNotFoundException。 我想知道,是因为我对这些文件中使用的类进行了更改吗?因为类名相同,所以唯一的变化是一些新
我想为我的数据加载构建进度条(Java)。但是,我的数据位于 .ser 文件中,因为我将其作为序列化对象读取。知道在这种情况下我应该如何呈现数据加载进度吗? 最佳答案 使用 ProgressMonit
因此,在我们的 weblogic 10.3 服务器中,会生成具有随机名称的文件夹(例如“7nxxd”、“tpy16q”)。每个里面都有相同的子目录结构: /.tld_cache/WEB-INF/tld
加载我的项目资源管理器中的 .ser 文件 我一直在处理文件路径和序列化,一切都很好,但是使用我当前的代码,我的文件路径只是文件名(“Students.ser”),这显然会将文件保存在项目之外不太好(
Closed. This question is off-topic。它当前不接受答案。
如果尚不存在对象,我正在尝试创建一个新的 .ser 文件来存储对象。运行时,它会抛出 EOFException。 EOFException 到底是什么?该方法是否正确编写以创建和读取 .ser 文件?
当我在类 ser 之外分配此值时,如何从类方法中使用 ser ?就像下面它在 Window 中不起作用一样。 import socket, datetime,
我正在实现一个 Python 脚本来读取 XBee 发送的帧。 PC将接收帧并处理它们。 我有一个问题,因为我在 XBee 中使用 AP=2,所以所有帧都可以有转义字符。我想检测它们并在使用它们之前输
我正在尝试读取存储在 *.ser 文件中的所有对象并将它们存储在一个对象数组中。如何获取存储在该文件中的对象数量(以便我可以将数组声明为 number_of_objects 长)? 我检查了 API,
这个问题已经有答案了: Eclipse - java.lang.ClassNotFoundException (44 个回答) 已关闭 4 年前。 我有一个项目并序列化了一个类,并在 .classpa
这个问题已经有答案了: StreamCorruptedException during serialised object decryption (and other byte fields) (1
我想创建一个空的 .ser 文件来存储对象的数组列表(如果尚未创建),以便稍后在程序中使用。在弄清楚我当前的问题后,我将在稍后添加是否存在检查。我的 File = new File(etc 等) 行上
好吧,我尝试了很多方法来创建可执行 jar,但 4 小时后我放弃了。我正在尝试使用我的项目制作可执行的 jar 文件,其中主类位于 Controller 中。基本上我尝试使用导出/可运行的 JAR 文
我的想法是,我想从位于服务器中的序列化文件中读取一个对象。如何做到这一点? 我只能使用以下代码读取 .txt 文件: void getInfo() { try { URL
我有一个 .ser 文件。我知道它的类,但我不知道该对象包含哪些属性。有没有什么方法可以对其进行“反序列化”?还是根本不可能? 最佳答案 ObjectInputStream in = new Obje
对于构建语音情绪检测和识别系统,哪种方法会更好?隐马尔可夫模型还是深度学习 (RNN-LSTM) 方法?我必须建立一个 SER 系统,我对两者感到困惑。如果有比这两个更好的模型,请告诉。 最佳答案 基
我从学生类中创建了一系列对象并将它们存储在 vector 中。每个对象创建后我都会将其写入 .ser 文件中。然后我把它们读回来。我的代码运行完美。我想知道的是,我这样做的方式是正确的还是有任何简单且
我使用的是stanford corenlp。当我执行文件SentimentTraining.java时,它需要model.ser.gz,但我无法在下载的corenlp包中找到它。你能告诉我如何找到mo
我正在使用一个连接到 arduino 的传感器,并使用 ser.readline() 来打印传感器的读数和成功。但是当我想使用 ser.readline 将读取值发送到 mysql 时。它只传递设备名
这让我抓狂。当我保存某些内容时,Tomcat 偶尔会崩溃并出现以下错误... 编辑 JSP 或 Java 文件。保存您的工作。那么可能有 25% 的概率发生崩溃……这里的线索是它在大多数时间都能正常工
我是一名优秀的程序员,十分优秀!