我非常喜欢使用 apache-digester 将 XML 文件加载到我的对象模型中。
我正在处理包含许多重复项(事件日志)的大文件,因此想要 String.intern() 特定属性(经常重复的属性)的字符串。
由于 Apache-Digester 在放弃控制之前读取整个文件,它最初会生成大量重复文件,从而占用大量内存;然后我可以去迭代我所有的对象和实习生,但我仍然要付出用完大量内存的代价。
另一种选择是让我的对象模型中的相应 setProperty bean 函数始终实习参数,但我在我的代码中对已经实习的字符串使用相同的函数,这样会很浪费;此外,我不想在我的模型中引入消化器特定的代码。
有没有办法让 Digester 在设置属性之前/之后实习或执行自定义代码?