首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将jndi资源加载到上下文中:property-placeholder

将jndi资源加载到上下文中:property-placeholder
EN

Stack Overflow用户
提问于 2011-07-25 16:57:03
回答 2查看 4.1K关注 0票数 2

我有以下spring配置文件:

代码语言:javascript
复制
<context:property-placeholder order="2"
    ignore-unresolvable="true" ignore-resource-not-found="true"
    location="file:///${user.home}/application.properties" />
<context:property-placeholder order="1"
    ignore-unresolvable="true" ignore-resource-not-found="true"
    location="file:///C:/Services/Tomcat 6.0/cms/application.properties" />
<context:property-placeholder order="3"
    location="classpath:com/afrozaar/cms/service/application.properties" />

注意它们是如何排序的,有些在类路径上,有些在文件系统上。

现在,我想添加一个通过jndi加载的属性文件。我希望能做的是

代码语言:javascript
复制
<context:property-placeholder order="2"
    ignore-unresolvable="true" ignore-resource-not-found="true"
    location="jndi:url/application.properties" />

不幸的是,这不起作用,spring不支持jndi前缀...AFAIK。

那么,我能做这样的事情吗?

如果我做不到,我还有什么选择呢?我不想把我的整个配置转换成一个完整的基于bean的属性占位符配置器。

EN

回答 2

Stack Overflow用户

发布于 2013-10-14 23:14:26

不知道"jndi:url/application.properties“到底是什么意思。我想您希望在名为"url/application.properties“的资源条目中设置属性文件的路径。

您可以使用以下代码片段来实现这一点:

代码语言:javascript
复制
<bean class="org.springframework.beans.factory.config.PlaceholderConfigurerSupport">
 <property name="location">
  <bean id="publisherLocal" class="org.springframework.jndi.JndiObjectFactoryBean">
   <property name="jndiName" value="url/application.properties" />
   <property name="expectedType" value="java.lang.String" />
   </bean>
 </property>
</bean>
票数 1
EN

Stack Overflow用户

发布于 2011-07-25 17:24:58

<context:property-placeholder>有一个properties-ref属性,它可以指向Properties类型的bean。因此,您可以在代码中加载Properties并使用它们声明一个<context:property-placeholder>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6813711

复制
相关文章

相似问题

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