【发布时间】:2014-12-08 07:47:01
【问题描述】:
假设我有一个文件,defaults.yaml:
pool:
idleConnectionTestPeriodSeconds: 30
idleMaxAgeInMinutes: 60
partitionCount: 4
acquireIncrement: 5
username: dev
password: dev_password
还有另一个文件,production.yaml:
pool:
username: prod
password: prod_password
在运行时,我如何读取这两个文件并将它们合并为一个,以便应用程序“看到”以下内容?
pool:
idleConnectionTestPeriodSeconds: 30
idleMaxAgeInMinutes: 60
partitionCount: 4
acquireIncrement: 5
username: prod
password: prod_password
这可以通过 SnakeYAML 实现吗?还有其他工具吗?
我知道一种选择是将多个文件作为 Maps 读取,然后自己合并它们,将合并呈现为单个临时文件,然后读取它,但这是一个重量级的解决方案。现有工具可以做到这一点吗?
【问题讨论】:
-
我认为现有的工具不会做任何比你想做的更“重量级”的事情——不过,另一种选择是跳过临时文件,只在内存中合并地图。