Как настроить глобальный источник данных JNDI в Tomcat 6? - PullRequest
4 голосов
/ 13 мая 2011

Я пытаюсь настроить простой источник данных JNDI в Tomcat 6.0.32.

Я хочу создать определение источника данных вне артефакта моего веб-приложения. По сути, я не хочу, чтобы мое приложение знало учетные данные для доступа к серверу базы данных. Я предполагал, что, как и в Weblogic, должно быть возможно создать «глобальный» источник данных JNDI в Tomcat, но до сих пор я не добился успеха.

Я попытался добавить определение источника данных в CATALINA_HOME / conf / context:

<Resource name="jdbc/mydb"
 auth="Container"
 type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
 factory="oracle.jdbc.pool.OracleDataSourceFactory"
 url="jdbc:oracle:thin:@1.1.1.1.:xxx"
 user="xxxx"
 password="yyyy"/>

В результате сервер при загрузке выводит следующую строку:

SEVERE: Null component Catalina:type=DataSource,path=/,host=localhost,class=javax.sql.DataSource,name="jdbc/mydb"

Любой указатель будет оценен.

Ответы [ 2 ]

15 голосов
/ 14 мая 2011

Переместите конфигурацию источника данных в server.xml <GlobalNamingResources>. (И не забудьте добавить файл jar драйвера в tomcat lib). Сконфигурируйте ваш context.xml так, чтобы все приложение знали о глобальном ресурсе.

<Context>
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <ResourceLink global="jdbc/mydb" name="jdbc/mydb" type="javax.sql.DataSource"/>
</Context>
0 голосов
/ 18 октября 2013

Ваша ошибка: user="xxxx", вместо нее нужно написать username="xxxx".

...