首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用动物园管理员作为基于弹簧的web应用程序的数据源来加载属性?

如何使用动物园管理员作为基于弹簧的web应用程序的数据源来加载属性?
EN

Stack Overflow用户
提问于 2015-02-08 18:52:12
回答 3查看 4.8K关注 0票数 2

我有一个web应用程序,它使用spring初始化,并使用maven构建。使用静态呈现的属性文件加载各种属性。由于不同的环境对相同的属性需要不同的值,所以我在构建时根据环境使用maven配置文件加载不同的属性文件。示例:- dev.properties用于开发环境,prod.properties用于生产环境。

现在,我希望使构建独立于属性文件,在上下文初始化过程中,属性的值将从某些数据源(动物园管理员)中获取。

如何在初始化上下文之前加载属性?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-02-09 09:06:47

Properties只是Java类之一,abstraction项目正是提供了这样一个抽象。我刚刚给您展示了JDBC的一个示例,但是还有很多其他的东西。下面是我如何从DB StoredProcedure加载属性的示例:

代码语言:javascript
复制
<jee:jndi-lookup id="dataSource" jndi-name="DS"/>

<bean id="storedProcedureConfiguration" class="com.my.proj.config.StoredProcedureConfiguration"
      p:dataSource-ref="dataSource"
      p:sqlQuery="pki_props.getProperties"/>


<bean id="propertiesFromDB" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"
      p:staticMethod="org.apache.commons.configuration.ConfigurationConverter.getProperties"
      p:arguments-ref="storedProcedureConfiguration"/>

<context:property-placeholder properties-ref="propertiesFromDB"/>

因此,您可以实现自己的AbstractConfiguration,从Zookeeper加载Properties并将其注入<context:property-placeholder>

票数 0
EN

Stack Overflow用户

发布于 2015-05-26 14:09:13

春云康菲动物园管理员提供了一种实现该功能的方法。我发布了一个使用这里的简单示例

票数 4
EN

Stack Overflow用户

发布于 2015-02-09 17:14:40

在java构造函数中,只需设置到Zookeeper服务器的连接,并使用zookeeper客户端方法获取所需的数据。您可以在这里找到示例:http://zookeeper.apache.org/doc/trunk/javaExample.html

它看起来会像这样(但你必须详细说明这个)

代码语言:javascript
复制
public YourConstructor() {
Zookeeper zk = new ZooKeeper(host,...);
zk.getData(...);
}
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28397982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档