JNDI-Eigenschaften (java.die Benennung.factory.erste & java.die Benennung.Anbieter.url) nicht immer durch Feder PropertyPlaceholderConfigurer

Habe ich Folgendes konfiguriert PropertyPlaceholderConfigurer

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="location" value="file:///opt/myproject/jndi.properties" />
</bean>

Und mein JNDI-Vorlage bean sieht aus wie

<bean id="myJndiTemplate" class="org.springframework.jndi.JndiTemplate">
    <property name="environment">
        <props>
            <prop key="java.naming.factory.initial">${factory}</prop>
            <prop key="java.naming.provider.url">${url}</prop>
        <props>
    </property>
</bean>

jndi.properties-Datei hat zwei definierten Tasten.

factory=org.webmethods.jms.naming.WmJmsNamingCtxFactory
url=wmjmsnaming://[email protected]:7001

Wenn ich bereitstellen auf weblogic und starten Sie die Anwendung, sehe ich die folgenden trace -

nested exception is javax.naming.NoInitialContextException: Cannot instantiate class: ${factory} [Root exception is java.lang.ClassNotFoundExcep
tion: ${factory}]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:529)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:296)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:293)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:628)
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)
        at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389)
        at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:294)
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112)
        at weblogic.servlet.internal.EventsManager$FireContextListenerAction.run(EventsManager.java:481)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
        at weblogic.servlet.internal.EventsManager.notifyContextCreatedEvent(EventsManager.java:181)
        at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1868)
        at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3154)
        at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1518)
        at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:484)

Frühjahr nicht ersetzen ${Werk} mit dem Wert aus der Datei mit den Eigenschaften, sondern betrachtet ${Werk} als Wert und zeigt damit eine Klasse nicht gefunden Ausnahme.
Wenn ich fest die factory-Klasse den Namen und die url ein, funktioniert es einwandfrei.
Ich bin mir nicht sicher, was fehlt hier, wie ich bin nicht in der Lage, um herauszufinden, was wirklich das Problem.

Schätzen jede Hilfe oder Verweise auf diese.

Schreibe einen Kommentar