@Bean(name = { BEAN_LOGSNIFFER_PROPS })
@Autowired
public PropertiesFactoryBean logSnifferProperties(final ApplicationContext ctx) throws IOException {
if (ctx.getEnvironment().acceptsProfiles("!" + ContextProvider.PROFILE_NONE_QA)) {
final File qaFile = File.createTempFile("logsniffer", "qa");
qaFile.delete();
final String qaHomeDir = qaFile.getPath();
logger.info("QA mode active, setting random home directory: {}", qaHomeDir);
System.setProperty("logsniffer.home", qaHomeDir);
}
final PathMatchingResourcePatternResolver pathMatcher = new PathMatchingResourcePatternResolver();
Resource[] classPathProperties = pathMatcher.getResources("classpath*:/config/**/logsniffer-*.properties");
final Resource[] metainfProperties = pathMatcher
.getResources("classpath*:/META-INF/**/logsniffer-*.properties");
final PropertiesFactoryBean p = new PropertiesFactoryBean();
for (final Resource r : metainfProperties) {
classPathProperties = (Resource[]) ArrayUtils.add(classPathProperties, r);
}
classPathProperties = (Resource[]) ArrayUtils.add(classPathProperties,
new FileSystemResource(System.getProperty("logsniffer.home") + "/" + LOGSNIFFER_PROPERTIES_FILE));
p.setLocations(classPathProperties);
p.setProperties(System.getProperties());
p.setLocalOverride(true);
p.setIgnoreResourceNotFound(true);
return p;
}
CoreAppConfig.java 文件源码
java
阅读 30
收藏 0
点赞 0
评论 0
项目:logsniffer
作者:
评论列表
文章目录