【发布时间】:2020-10-01 08:58:48
【问题描述】:
考虑到“文件”是指向真实文件的符号链接的情况
file -> real_file
如果我配置 PropertiesConfiguration(来自 Apache Commons Config)打开符号链接,如果我更新真实文件,它不会重新加载它
String filePath = new File(path).getCanonicalPath();
PropertiesConfiguration configuration = new PropertiesConfiguration(new File(filePath));
configuration.setReloadingStrategy(new FileChangedReloadingStrategy());
当然,在这种情况下,符号链接的更新日期是不变的,与真实的不同。
有没有办法强制PropertiesConfiguration 跟随符号链接并识别真实文件的更改?
【问题讨论】:
-
.getCanonicalPath()将为您提供文件的真实路径。因此,在您的代码示例中,您正在查看实际文件,而不是符号链接。所以它不需要遵循这个例子中的符号链接。这段代码不会在真实文件的更改上重新加载吗? -
是的,我刚刚发现问题是指向的文件已被另一个文件替换,因此 PropertiecConfiguration 指向一个不存在的文件。这就是重新加载不起作用的原因
-
知道了。我建议您随后为您自己的问题写一个答案,以便对社区有所帮助。
标签: java symlink apache-commons-config