весной не удалось найти источник данных JNDI - PullRequest
2 голосов
/ 18 июня 2011

Я занимаюсь разработкой весеннего веб-приложения. Файл JAR, который я использую в своем приложении, ищет источник данных с использованием JNDI. Я настроил элемент в файле tomcat server.xml. Конфигурация указана ниже,

<GlobalNamingResources>
  <Resource name="jdbc/abcd" 
            auth="Container" 
            type="javax.sql.DataSource" 
            maxActive="70"
            maxWait="10000" 
            username="xxxx" password="yyyy" 
            validationQuery="SELECT 1 from dual"
            driverClassName="oracle.jdbc.driver.OracleDriver" 
            url="jdbc:oracle:thin:@xx.xxx.xx.xx:xxxx:zzzz"
            testOnBorrow="false"
            testOnReturn="false"
            testWhileIdle="true"
            timeBetweenEvictionRunsMillis="120000"
            minEvictableIdleTimeMillis="3600000"
  />
</GlobalNamingResources>

Имя ресурса, сконфигурированное выше, "jdbc / abcd" - это то же самое, что ищет JAR, Но он не может найти этот настроенный источник данных. Кто-нибудь знает в чем может быть причина?

Получаю следующее исключение,

javax.naming.NameNotFoundException: имя jdbc не связано в этом контексте

Ответы [ 2 ]

3 голосов
/ 18 июня 2011

Вам необходимо определить ResourceLink в контексте веб-приложения, который делает глобальный ресурс видимым для веб-приложения.

<ResourceLink 
        name="nameThatIsVisibleToTheWebApplication"
        global="theGlobalName"
        ...
1 голос
/ 18 июня 2011

Вам нужно сделать больше, чем просто настроить Spring.

Я бы рекомендовал прочитать Tomcat документацию JNDI и это .

...