本文整理汇总了Java中org.cfg4j.source.context.propertiesprovider.PropertiesProvider类的典型用法代码示例。如果您正苦于以下问题:Java PropertiesProvider类的具体用法?Java PropertiesProvider怎么用?Java PropertiesProvider使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
PropertiesProvider类属于org.cfg4j.source.context.propertiesprovider包,在下文中一共展示了PropertiesProvider类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: loadConfigFromPath
import org.cfg4j.source.context.propertiesprovider.PropertiesProvider; //导入依赖的package包/类
public void loadConfigFromPath(KeyValueClient kvClient) throws IOException {
Path start = Paths.get(configPath);
Files.walkFileTree(start, new SimpleFileVisitor<Path>() {
@Override
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
if (acceptablePropertyExtensions.stream()
.filter(s -> file.toString().toLowerCase().contains(s)).count() > 0) {
LOGGER.info("found config file: " + file.getFileName().toString() + " in context "
+ start.relativize(file.getParent()).toString());
try (InputStream input = new FileInputStream(file.toFile())) {
Properties properties = new Properties();
PropertiesProvider provider =
selectPropertiesProviderByExtention(file.getFileName().toString());
properties.putAll(provider.getProperties(input));
String prefix = start.relativize(file.getParent()).toString();
properties.entrySet().stream().parallel().forEach(prop -> {
LOGGER.debug("found property name: " + prop.getKey().toString() + " ; and value: "
+ prop.getValue().toString());
kvClient.putValue(globalPrefix + "/" + prefix + "/" + prop.getKey().toString(),
prop.getValue().toString());
});
} catch (IOException e) {
throw new IllegalStateException("Unable to load properties from file: " + file, e);
}
}
return FileVisitResult.CONTINUE;
}
});
}
示例2: selectPropertiesProviderByExtention
import org.cfg4j.source.context.propertiesprovider.PropertiesProvider; //导入依赖的package包/类
public PropertiesProvider selectPropertiesProviderByExtention(String fileName) {
if (yamlExtensions.stream().filter(s -> fileName.toLowerCase().contains(s))
.count() > 0) {
return yamlBasedPropertiesProvider;
} else {
return propertyBasedPropertiesProvider;
}
}
示例3: run
import org.cfg4j.source.context.propertiesprovider.PropertiesProvider; //导入依赖的package包/类
public void run(String... args) throws Exception {
LOG.info("Connecting to Consul client at " + host + ":" + port);
Consul consul = Consul.newClient(host, port);
kvClient = consul.keyValueClient();
PropertiesProviderSelector propertiesProviderSelector = new PropertiesProviderSelector(
new PropertyBasedPropertiesProvider(), new YamlBasedPropertiesProvider()
);
Path start = Paths.get(configPath);
Files.walkFileTree(start, new SimpleFileVisitor<Path>() {
@Override
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
if (file.toString().endsWith(".yaml") || file.toString().endsWith("properties")) {
LOG.info("found config file: " + file.getFileName().toString() + " in context " + start.relativize(file.getParent()).toString());
try (InputStream input = new FileInputStream(file.toFile())) {
Properties properties = new Properties();
PropertiesProvider provider = propertiesProviderSelector.getProvider(file.getFileName().toString());
properties.putAll(provider.getProperties(input));
String prefix = start.relativize(file.getParent()).toString();
for (Map.Entry<Object, Object> prop : properties.entrySet()) {
kvClient.putValue(globalPrefix + "/" + prefix + "/" + prop.getKey().toString(), prop.getValue().toString());
}
} catch (IOException e) {
throw new IllegalStateException("Unable to load properties from file: " + file, e);
}
}
return FileVisitResult.CONTINUE;
}
});
}