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

时间:2014-12-26 15:57:19

标签: java spring caching properties

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

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

1 个答案:

答案 0 :(得分:0)

您可以使用UrlResource

从外部位置读取和加载资源

Documentation 1 | Documentation 2

使用注释的示例:

@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替换。请注意,由于线路读取过多,启动服务器会有延迟。您也可以执行与某些计时器任务相同的活动。