属性扩展语言(DSL) - 是否存在?

时间:2009-08-03 17:27:20

标签: properties build dry dsl

这是我的问题:我们有N个应用程序在M个不同的环境(qa / prod / etc。)中运行,每个环境有P个服务器。相乘,唯一配置的数量为数百个。每个应用程序都有一组特定于环境的属性(公共主机名,侦听端口,最大内存等)。

相乘,需要设置数千个属性。但是,定义属性应该是什么的实际规则要简单得多。例如,在每个物理服务器有两个应用实例的生产环境中,一个应用绑定到端口8080,另一个绑定到8081。

这就是我想要的:一种语言(DSL),我可以用它来指定规定属性设置应该是什么的规则。我想避免重复自己。语言应该是声明性的。我们非常以Java为中心,但我需要做的就是生成名称/值对,所以我不想限制自己。

这样的事情存在吗?我一无所获。

我想我可以使用Drools或其他规则引擎,但这个目的非常重。属性文件是最低的共同点。我们可以将它们放入war / ear文件中,在构建过程中使用它们来进行基于模板的替换等。当然,有更优雅的方法可以解决这种问题,但我们仍然坚持使用我们的架构,至少在短期内。

0 个答案:

没有答案