Если используется конфигурация Spring на основе XML-схемы, выполните настройку в контексте Spring следующим образом:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jee="http://www.springframework.org/schema/jee" xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsd">
...
<jee:jndi-lookup id="dbDataSource"
jndi-name="jdbc/DatabaseName"
expected-type="javax.sql.DataSource" />
В качестве альтернативы, настройте, используя простую конфигурацию bean:
<bean id="DatabaseName" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/DatabaseName"/>
</bean>
Вы можете объявить ресурс JNDI в файле tomcat server.xml, используя что-то вроде этого:
<GlobalNamingResources>
<Resource name="jdbc/DatabaseName"
auth="Container"
type="javax.sql.DataSource"
username="dbUser"
password="dbPassword"
url="jdbc:postgresql://localhost/dbname"
driverClassName="org.postgresql.Driver"
initialSize="20"
maxWaitMillis="15000"
maxTotal="75"
maxIdle="20"
maxAge="7200000"
testOnBorrow="true"
validationQuery="select 1"
/>
</GlobalNamingResources>
И ссылаться на ресурс JNDI из веб-сайта Tomcat context.xml следующим образом:
<ResourceLink name="jdbc/DatabaseName"
global="jdbc/DatabaseName"
type="javax.sql.DataSource"/>
Справочная документация:
Изменить: Этот ответ был обновлен для Tomcat 8 и Spring 4. Было несколько изменений имени свойства для настройки пула ресурсов данных Tomcat по умолчанию .
С механизмом SpringConfig Java вы можете сделать это так:
источник
Предполагая, что у вас есть определение источника данных "sampleDS" внутри вашей конфигурации tomcat, вы можете добавить следующие строки в свой,
applicationContext.xml
чтобы получить доступ к источнику данных с помощью JNDI.Вы должны определить пространство имен и расположение схемы для
jee
префикса, используя:источник
Документация: C.2.3.1
<jee:jndi-lookup/>
(простой)Пример:
Вам просто нужно узнать, с каким именем JNDI ваш appserver связывает источник данных. Это полностью зависит от сервера, обратитесь к документации на вашем сервере, чтобы узнать, как это сделать.
Не забудьте объявить
jee
пространство имен в верхней части вашего bean-файла, как описано в C.2.3. Схема jee .источник
Еще одна особенность: вместо server.xml вы можете добавить тег «Ресурс» в
your_application / META-INF / Context.xml (в соответствии с документами tomcat ) следующим образом:
источник
Согласно странице HOW-TO источника данных JNDI Apache Tomcat 7, в файле web.xml должна быть конфигурация ресурса:
Это подходит для меня
источник
В вашем весеннем классе вы можете добавить боб, аннотированный как
и вы добавляете это в ваш context.xml
Вы можете объявить ресурс JNDI в файле tomcat server.xml, используя
вернуться к context.xml de spring добавить это
если, как этот пример, вы вводите соединение с базой данных, убедитесь, что jSQL-файл MySQL присутствует в каталоге lib tomcat, иначе tomcat не сможет создать пул соединений с базой данных MySQL.
источник
Я нашел это решение очень полезным, чтобы полностью удалить конфигурацию xml.
Пожалуйста, проверьте эту конфигурацию базы данных, используя JNDI и Spring Framework. http://www.unotions.com/design/how-to-create-oracleothersql-db-configuration-using-spring-and-maven/
В этой статье объясняется, как легко создать конфигурацию базы данных на основе конфигурации базы данных jndi (db / test). как только вы закончите настройку, все репозитории db будут загружены с использованием этого jndi. Я нашел полезным. Если у @Pierre есть проблема с этим тогда, дайте мне знать. Это полное решение для записи конфигурации БД.
источник