Я хочу удалить ENV-запись из web.xmlНе удалось найти свойство в контексте JNDI с помощью PropertyPlaceholderConfigurer
<env-entry>
<description>String used in masking process</description>
<env-entry-name>default_mask</env-entry-name>
<env-entry-value>*</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
поэтому я создал файл свойств, имеющих (с: /my.properties)
default_mask=9999
Поэтому я стараюсь использовать существующие решения, как JndiPropertyPlaceholderConfigurer (от Spring Jndi Context and PropertyPlaceholderConfigurer ) и настроен следующим в applicationContext.xml весеннем как
<bean
class="com.test.webappl.JndiPropertyPlaceholderConfigurer">
<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE"/>
<property name="ignoreResourceNotFound" value="true"/>
<property name="location" value="file:c:\my.properties"/>
Запуск Tomcat сервер считывает файл свойств, как
.......com.test.webappl.JndiPropertyPlaceholderConfigurer] Loading properties file from URL [file:c:/my.properties]
Сейчас в Java, когда я прочитал
Context context = new InitialContext();
String resource = context.lookup("java:comp/env/default_mask");
приложение бросками следующая ошибка
**javax.naming.NameNotFoundException: Name default_mask is not bound in this Context**
также моя весна настройки в web.xml являются
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationcontext.xml</param-value>
</context-param>
Кто-нибудь знает, если я использую правильный путь? Я знаю, что это был дан ответ в Spring Jndi Context and PropertyPlaceholderConfigurer но почему-то не работает в моем случае
Заранее спасибо
все еще, будет ли это решение работать с простым новым InitialContext() ?? Вам не нужно искать свойства с самой весны? – WeMakeSoftware
'plain new InitialContext()' все равно будет работать. JNDI не является частью весны. Его другая сущность. 'InitialContext' позволяет вам взаимодействовать с деревом JNDI. Фактически jndiTemplate внутренне использует «InitialContext». См. [This] (http://www.jarvana.com/jarvana/view/org/springframework/spring/2.5.2/spring-2.5.2-sources.jar!/org/springframework/jndi/JndiTemplate.java? format = ok) link – Santosh
Tomcat бросает ошибку, когда пытается связать ключ/значение @java: comp/env ....... Контекст доступен только для чтения – Anu