【发布时间】:2016-03-07 18:05:36
【问题描述】:
目前,我们将应用程序的环境属性存储在 WEB-INF 中的 .properties 文件中。我们想将它们移动到数据库表中。但是我们仍然希望指定 jndi 名称,并且当在本地测试环境中运行时,我们希望能够覆盖某些属性,仅为我们的工作区进行测试和开发。
Apache commons 的 DatabaseConfigurator 看起来不错,但将 jndi 名称定义为文件中的属性时效果不佳。我没有做任何事情来要求它首先查看属性文件。
我决定继承 apache commons 的 AbstractConfiguration 来尝试创建一个配置器,它可以按照我的意愿检查文件和数据库,但同样,它并没有真正起作用。 Spring 绝对首先需要该 jndi 名称,可能是因为必须将数据源作为参数传递到配置器中。
我怎样才能在这里得到我想要的东西?主要是数据库中的属性,但文件中的属性会覆盖它们。并且数据源的 jndi 名称不必在 spring 配置中硬编码。
【问题讨论】:
标签: java spring apache-commons-config