在我们的 Java 应用程序中,我们使用 XML 来维护静态数据和变化条件。现在,这些 XML 的增长超出了控制。有什么替代方法来维护我们的静态数据和变化条件,这将使我们在性能成本和可用性方面受益?
谢谢
对于您所说的,您在每个请求中读取 XML 文件,如果您使用 JAX-B 或以某种方式作为对象进入,则在加载此文件后创建一个单例(http://en.wikipedia.org/wiki/Singleton_pattern)将此值保存在内存中,这样您只需验证 XML 一次并将其保存在内存中,从而提高性能。但是,如果 XML 真的很大并且您无法在内存中维护它们,我建议将这些信息放在数据库中。您可以将所有数据迁移到数据库中,或者创建一个功能来根据 XML 数据在系统启动时更新数据。在这种使用数据库的场景中,最好的解决方案是迁移所有数据,不再使用 XML。要衡量每种方法的性能,您必须编写如下内容:
public static void main(String args[]) {
Date initialDate = new Date();
getXmlValue();// or getDBValue();
Date finalDate = new Date();
System.out.println("Load XML took " + (initialDate.getTime()-finalDate.getTime()) + "ms");
}