我正在使用reflections包扫描类路径中的一些文件。下面的代码以固定的时间间隔运行。基本上,我检索的是类路径中'tmp‘文件夹中的所有xml文件。这段代码是从web应用程序运行的。
Reflections reflections = new Reflections("tmp", new ResourcesScanner());
Set<String> xmls = reflections.getResources(Pattern.compile(".*\\.xml"));当我在services文件夹中添加另一个xml文件时,它会被读取。但是,当我更新这些xml文件中的任何一个时,更新都不会反映出来。是不是有某种缓存正在进行?如果是,有没有办法避免同样的情况发生?
发布于 2014-02-06 17:07:27
不,反射不会缓存资源。它简单地扫描并创建一个Store对象--实际上是一个字符串的多映射。
在运行时读取/检索资源是基于它们的名称完成的(通过Store),并使用配置的类加载器(缺省为上下文类加载器)
https://stackoverflow.com/questions/21399592
复制相似问题