【发布时间】:2015-01-14 14:51:05
【问题描述】:
使用 Typesafe Config 的库通常依赖于从类路径上的 /reference.conf 文件合并的一个大配置。
例如,Spray 期望在 ActorSystem 的 Typesafe Config 实例中找到其配置部分,但除非我创建 ActorSystem 的包导入 Spray 包,否则它们不可用。在我的应用程序中没有这样的导入,因为我有一个专用包,其唯一目的是将ActorSystem 作为服务发布。其他捆绑包使用它,其中一些依赖于 Spray,但不依赖于仅导出 AS 的捆绑包。
这让我想到了 Typesafe Config 在 OSGi 环境中查找 /reference.conf 文件的一般问题。我知道akka-osgi 的BundleDelegatingClassLoader 在捆绑包依赖链中查找资源,所以我想为什么不直接查看系统中的所有捆绑包以符合 Typesafe Config 的合并意识形态?
在 OSGi 下使用 Typesafe Config 的正确方法是什么?我将在答案中介绍我的通用解决方案,但我不是 OSGi 专家,我想知道这是否是错误的,为什么以及处理合并的更好方法是什么。
【问题讨论】:
标签: osgi spray typesafe-config