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

时间:2011-08-25 02:47:23

标签: java configuration

我最近升级/部署了一个java Web应用程序产品(它只是一个war文件,没有任何代码,所以我无法看一看)。它有一个管理屏幕,允许用户配置应用程序属性。我只是想知道他们是如何做到这一点,更改参数,甚至不需要重新启动,因为我习惯于通过编辑一些.ini或.xml来完成这样的配置,并要求应用程序重启才能生效。

有关此功能可能如何实施的任何想法?是否有可用的API,如果没有,那么可能是这样的内部工作原理?

3 个答案:

答案 0 :(得分:3)

任何名副其实的webapp都是将数据放入数据库并将其取回的业务。让webapp本身根据一些数据而不是总是将其返回给用户而改变其行为并不是想象力的巨大飞跃。我们习惯于认为应用程序属性是静态的,因为这就是所有大型框架的行为方式。它们的行为方式是因为动态配置比静态配置困难得多,但这并不意味着动态不可行。

答案 1 :(得分:2)

如果只有少数属性,那么它们可能会将其持久保存到属性文件中,然后重新加载此线程中显示的属性。 Loading a properties file from Java package

如果始终从此单例porp对象中读取所有属性,则更改它将立即导致应用程序的更改行为。

答案 2 :(得分:0)

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

对于Dependency Injection (DI)等更多高级问题,如果这些属性用于应用程序的其他组件,则需要通知配置更改。