Весна 3 JNDI искать в Glassfish3 - PullRequest
1 голос
/ 28 марта 2012

Я хочу посмотреть некоторые свойства JNDI, настроенные на сервере glassfish v3. Я хочу сделать это с помощью весны. Вот моя весенняя конфигурация:

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:jee="http://www.springframework.org/schema/jee"
       xmlns:jaxws="http://cxf.apache.org/jaxws"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
                           http://www.springframework.org/schema/beans/spring-beans.xsd
                           http://www.springframework.org/schema/aop
                           http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
                           http://www.springframework.org/schema/beans
                           http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
                           http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
                           http://www.springframework.org/schema/jee
                           http://www.springframework.org/schema/jee/spring-jee-3.0.xsd">

    <import resource="classpath:META-INF/cxf/cxf.xml"/>
    <import resource="classpath:META-INF/cxf/cxf-servlet.xml"/>

    <!--
        JNDI look ups.
     !-->
    <jee:jndi-lookup id="properties"
                     jndi-name="java:comp/env/jndi/ws_properties"
                     expected-type="java.util.Properties"/>

</beans>

Я сопоставил jndi/ws_properties в файлах sun-web.xml и web.xml. Проблема в том, что этот поиск всегда дает мне нулевые свойства. Но если я сделаю это в коде Java:

    try {
        InitialContext context = new InitialContext();
        properties = (Properties) context.lookup("jndi/ws_properties");
    } catch (NamingException e) {
        LOGGER.error("", e);
    }

Это нормально. Я вижу мои свойства ключи и значения.

Может кто-нибудь сказать мне, в чем здесь проблема?

1 Ответ

2 голосов
/ 31 марта 2012

Возможно, это связано с вашим свойством "jndi-name".

Вам не нужно ставить «java: comp / env /» в имени.

По умолчанию свойство "resource-ref" имеет значение true, и если вы не укажете значение false, оно автоматически добавит java: comp / env к имени.

...