[一些可以固化的思路]将jar开发成根据环境可变配置,可变配置的来源

开发了一个通用功能jar,但期望他尽可能地被不同的环境使用而不改变二进制jar。
"可变配置"概念前提:已预先开发好可变点代码,能根据配置而改变。

这样收到很多好处:
(1)能适合不同公司不同人不同环节的喜好配置,让这个通用功能更容易接受。
(2)不改变二进制jar,不需经历重新编译打包这个步骤,让代码的共用程度更深入。
(3)如果没有可变配置的机制,一些使用者为了特定赋值而修改代码,让本来通用的功能而变得不通用,或抽象不出来通用。

能达到不改变二进制jar而可变配置,不容易,归根结底只有两个方法:
[color=red]
(1)将可变配置通过System Property传进来。这需要修改进程启动参数,加"-Dname=value"。
(2)将可变配置通过特定路径上的配置文件读进来。

完全不能“没有可变来源,但又不改变jar二进制就能实现可变配置"
[/color]

而大量的可配置,则结合(1)(2):(1)指定appHome或appName,然后(2)在appHome上加上jar名相关的硬编码指定到properties文件。

比如一个有很多通用功能bundle的OSGI应用程序里,这个或那个公司或许想注册到zookeeper的路径为其喜欢的值。
或jarA想调用通用的ResourceRegister注册到pathA下,jarB想调用ResourceRegister注册到pathB下,
那ResourceRegister的basePath就应由调用者传进来。而jarA和jarB中配置的来源:分别将basePath写在本jar相关的配置文件中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值