title: JNDI properties (java.naming.factory.initial & java.naming.provider.url) not getting set through Spring's PropertyPlaceholderConfigurer
body: <p>I have configured the following <code>PropertyPlaceholderConfigurer</code></p>
  
  <pre><code>&lt;bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"&gt;
      &lt;property name="location" value="file:///opt/myproject/jndi.properties" /&gt;
  &lt;/bean&gt;
  </code></pre>
  
  <p>And my JNDI template bean looks like</p>
  
  <pre><code>&lt;bean id="myJndiTemplate" class="org.springframework.jndi.JndiTemplate"&gt;
      &lt;property name="environment"&gt;
          &lt;props&gt;
              &lt;prop key="java.naming.factory.initial"&gt;${factory}&lt;/prop&gt;
              &lt;prop key="java.naming.provider.url"&gt;${url}&lt;/prop&gt;
          &lt;props&gt;
      &lt;/property&gt;
  &lt;/bean&gt;
  </code></pre>
  
  <p>jndi.properties file has two keys defined.</p>
  
  <pre><code>factory=org.webmethods.jms.naming.WmJmsNamingCtxFactory
  url=wmjmsnaming://MY_BROKER@abc.com:7001
  </code></pre>
  
  <p>When i deploy this on weblogic and start the application, i see the following trace</p>
  
  <pre><code>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)
  </code></pre>
  
  <p>Spring isn't replacing ${factory} witht he value from the properties file but considers ${factory} as the value and thus shows a class not found exception.
  If i hardcode the factory class name and the url, it works fine.
  I am not sure whats missing here as i am not able to figure out whats really the issue.</p>
  
  <p>Appreciate any help or pointers on this.</p>