Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用JNDI加载.properties文件_Java_Jndi - Fatal编程技术网

Java 使用JNDI加载.properties文件

Java 使用JNDI加载.properties文件,java,jndi,Java,Jndi,我不知道该怎么做。要求是我想使用JNDI加载一个属性文件,然后使用自定义属性resolver和配置解析器来使用它的数据。问题是如何配置JNDI来查找此属性文件。 我的配置是: <bean id="MYUrlResource" class="org.springframework.core.io.UrlResource"> <!-- <constructor-arg value="file:C:\Users\anand_rajneesh\Desktop\SVN Wo

我不知道该怎么做。要求是我想使用JNDI加载一个属性文件,然后使用自定义属性resolver和配置解析器来使用它的数据。问题是如何配置JNDI来查找此属性文件。 我的配置是:

<bean id="MYUrlResource" class="org.springframework.core.io.UrlResource">
    <!-- <constructor-arg value="file:C:\Users\anand_rajneesh\Desktop\SVN Workspace\13MM - Dev\web-app\src\main\resources\application.properties"/> -->
    <constructor-arg>
        <bean class="org.springframework.jndi.JndiObjectFactoryBean">
            <property name="jndiName" value="java:comp/env/url/application.properties" />
            <property name="resourceRef" value="false" />
            <property name="lookupOnStartup" value="true" />
        </bean>
    </constructor-arg>
</bean>

我正在使用Tomcat7.0EclipseIndigo及其RESTfulWebService。。如果这与资源引用没有引起任何操作有关,那么它只是一个链接。您必须在某个地方定义资源。在Tomcat中,它是通过context.xml中的一个资源条目完成的,但是您可能必须提供自己的对象工厂,除非Spring中有一个用于属性文件的对象工厂。我想你已经有了一些背对背的东西。考虑到到目前为止,你还没有说过文件实际上在哪里。属性文件已经在类路径中,所以你的意思是我必须在资源标签下在CordEx.xml中给出文件的链接吗?jetty的情况是否有所不同,因为有时我必须使用jetty部署服务器!
<resource-ref>
        <description>Property File Url</description>
        <res-ref-name>url/application.properties</res-ref-name>
        <res-type>java.net.url</res-type>
        <res-auth>Container</res-auth>
    </resource-ref>
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.jndi.JndiObjectFactoryBean#149a794' defined in ServletContext resource [/WEB-INF/classes/application-context.xml]: Invocation of init method failed; nested exception is javax.naming.NameNotFoundException: Name application.properties is not bound in this Context
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:270)
    ... 48 more
Caused by: javax.naming.NameNotFoundException: Name application.properties is not bound in this Context
    at org.apache.naming.NamingContext.lookup(NamingContext.java:774)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:144)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:785)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:144)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:785)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:144)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:785)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:157)
    at org.apache.naming.SelectorContext.lookup(SelectorContext.java:156)
    at javax.naming.InitialContext.lookup(Unknown Source)
    at org.springframework.jndi.JndiTemplate$1.doInContext(JndiTemplate.java:154)
    at org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:87)
    at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:152)
    at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:178)
    at org.springframework.jndi.JndiLocatorSupport.lookup(JndiLocatorSupport.java:95)
    at org.springframework.jndi.JndiObjectLocator.lookup(JndiObjectLocator.java:105)
    at org.springframework.jndi.JndiObjectFactoryBean.lookupWithFallback(JndiObjectFactoryBean.java:201)
    at org.springframework.jndi.JndiObjectFactoryBean.afterPropertiesSet(JndiObjectFactoryBean.java:187)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
    ... 51 more