2015-01-04 4 views
1

Я пытаюсь настроить DB DataSource с помощью Spring JndiObjectFactoryBean, поэтому у меня есть tomcat: запустите плагин для локальных целей тестирования и файл context.xml, расположенный в src/test/resources/Maven-плагин-кот/Maven tomcat: запустить плагин и конфигурацию источника данных через JNDI

<plugin> 
    <groupId>org.apache.tomcat.maven</groupId> 
    <artifactId>tomcat7-maven-plugin</artifactId> 
    <version>2.2</version> 
    <configuration> 
    <contextFile>${basedir}/src/test/resources/maven-tomcat-plugin/context.xml</contextFile> 
    </configuration> 
</plugin> 

context.xml

<?xml version='1.0' encoding='utf-8'?> 
<Context> 
<ResourceLink name="jdbc/MyLocalDB" global="jdbc/TestDB" auth="Container" type="javax.sql.DataSource" /> 
<Resource name="jdbc/MyDB" global="jdbc/MyDB" auth="Container" type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver" 
    url="jdbc" username="" password="" maxActive="100" maxIdle="20" minIdle="5" 
    maxWait="10000" /> 
</Context> 

, но у меня есть: Имя [JDBC/TestDB] не связан в этом контексте

Это выглядит как contextPath GIV ничего.

Есть ли у кого-нибудь идиум, как его решить?

+0

Я не знаю, как, но я удалил ResourceLink и использовал jndi name jdbc/MyDB, и он работает. –

ответ

0

<ResourceLink> элемента предназначен для построения ссылки на Global ресурса, который должен быть объявлен под файлом server.xml и который может выглядеть, как показано ниже:

<GlobalNamingResources> 
    <Resource name="jdbc/DatabaseName" auth="Container" type="javax.sql.DataSource" 
      username="dbUsername" password="dbPasswd" 
      url="jdbc:postgresql://localhost/dbname" 
      driverClassName="org.postgresql.Driver" 
      initialSize="5" maxWait="5000" 
      maxActive="120" maxIdle="5" 
      validationQuery="select 1" 
      poolPreparedStatements="true"/> 
</GlobalNamingResources/> 

Обратите внимание, что атрибут name должен соответствовать атрибут global вашего элемента ResourceLink.

Так что либо объявляйте соответствующий глобальный ресурс, либо просто удаляйте ссылку ресурсов и используйте объявленные ресурсы так же, как и вы.

Смежные вопросы