Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在分布式应用程序中加载属性文件_Java_Spring_Caching_Properties - Fatal编程技术网

Java 在分布式应用程序中加载属性文件

Java 在分布式应用程序中加载属性文件,java,spring,caching,properties,Java,Spring,Caching,Properties,我有一组资源属性文件,通过它们我可以加载Springbean。由于此应用程序是一个接口层,因此可能会有许多应用程序或服务层希望添加其属性。因此,我想设计一个UI,并提供更新属性文件的规定 让我知道处理这种情况的最佳方法,因为我无法将文件保持在服务器级别并执行任何手动操作。让我知道Spring是否提供了任何此类功能,以便在发生任何更改时缓存文件并相应加载。建议更好的方法您可以使用URLROURCE从外部位置读取和加载资源 | 使用注释的示例: @EnableAutoConfiguration @C

我有一组资源属性文件,通过它们我可以加载Springbean。由于此应用程序是一个接口层,因此可能会有许多应用程序或服务层希望添加其属性。因此,我想设计一个UI,并提供更新属性文件的规定


让我知道处理这种情况的最佳方法,因为我无法将文件保持在服务器级别并执行任何手动操作。让我知道Spring是否提供了任何此类功能,以便在发生任何更改时缓存文件并相应加载。建议更好的方法

您可以使用URLROURCE从外部位置读取和加载资源

|

使用注释的示例:

@EnableAutoConfiguration
@ComponentScan
@ImportResource(value = { "classpath:spring/*.xml"})
@PropertySource(ignoreResourceNotFound = true, value = {
    "classpath:application.properties","http://localhost/prop/remote.properties"})
public class Server {
      .....
}

在此代码中,application.properties中给定的任何值都将被remote.properties替换。请注意,由于在线读取,启动服务器时会有延迟。您还可以执行与某些计时器任务相同的活动

如果我在运行时更新驻留在外部的application.properties文件,更新远程prop文件中的资源是否会有延迟?让我知道在资源上实现缓存机制在这种情况下是否有帮助?默认情况下,Spring不会在不重新启动的情况下重新加载属性。搜索可重新加载的属性加载项以实现此目的。