如何动态配置应用程序参数

4
我最近升级/部署了一个Java Web应用程序产品(只是一个WAR文件,没有任何代码,所以我无法查看)。它有一个管理屏幕,允许用户配置应用程序属性。我想知道他们是如何做到这一点的,改变参数而甚至不需要重启,因为我习惯通过编辑某些.ini或.xml来完成此类配置,并要求应用重新启动才能生效。
有什么想法可以实现这样的功能吗?是否有可用的API?如果没有,这样的内部工作方式可能是什么?

服务器重启后配置是否会保留? - Mikita Belahlazau
3个回答

3
任何值得称道的网络应用程序都涉及将内容存入数据库并从中检索。让网络应用程序根据其中一部分数据来变更其行为而不是仅仅将其返回给用户并不需要太大的想象力。我们习惯认为应用程序属性是静态的,因为所有大型框架都是这样工作的。他们之所以以此方式工作是因为动态配置比静态配置要困难得多,但这并不意味着动态配置不可行。

2
如果只有少量属性,则可能会将其持久化到属性文件中,然后像此线程中所示那样重新加载属性。如果所有属性都始终从此单例porp对象读取,则更改它将立即导致应用程序行为的更改。请参考从Java包加载属性文件

-1

这是通过反射完成的。Java有反射API来访问类属性并调用这些属性。

对于更高级的问题,例如依赖注入(DI),如果这些属性被应用程序的其他组件使用,则需要通知配置更改的变化。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接