@Bean
public static PropertySourcesPlaceholderConfigurer properties() {
PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer = new PropertySourcesPlaceholderConfigurer();
propertySourcesPlaceholderConfigurer.setIgnoreResourceNotFound(false);
ArrayList<String> defaultSources = new ArrayList(Arrays.asList("raptor.yml", appName + ".yml"));
if (additionalConfigNames != null && !additionalConfigNames.isEmpty()) {
defaultSources.addAll(additionalConfigNames);
}
ArrayList<String> sources = new ArrayList(defaultSources);
if (developmentMode) {
defaultSources.forEach((source) -> {
sources.add(source.replace(".yml", ".dev.yml"));
});
}
try {
String envPath = System.getenv("CONFIG_BASEPATH");
if (envPath != null && envPath.isEmpty()) {
log.debug("Using CONFIG_BASEPATH={}", envPath);
basepath = envPath;
}
} catch (Exception e) {
log.warn("Failed to read environment variable CONFIG_BASEPATH: %s", e.getMessage());
}
log.debug("Configuration path {}", basepath);
List<Resource> resources = sources.stream()
.filter(f -> new File(basepath + f).exists())
.map(f -> new FileSystemResource(basepath + f))
.collect(Collectors.toList());
log.debug("Configuration sources: {}", resources.toString());
if (resources.isEmpty()) {
throw new RuntimeException("Cannot find a loadable property file in: " + basepath);
}
YamlPropertiesFactoryBean yaml = new YamlPropertiesFactoryBean();
yaml.setResources(resources.toArray(new Resource[]{}));
propertySourcesPlaceholderConfigurer.setProperties(yaml.getObject());
return propertySourcesPlaceholderConfigurer;
}
BaseApplication.java 文件源码
java
阅读 22
收藏 0
点赞 0
评论 0
项目:raptor
作者:
评论列表
文章目录