Как я могу ссылаться на источник данных с JNDI, используя Spring jee Tags

У меня есть источник данных, определенный на моем сервере Geronimo, который называется LocalMysql. Я могу использовать консоль администратора Geronimo для запроса базы данных и возврата данных, поэтому я знаю, что она по крайней мере правильно настроена на сервере приложений.

Моим следующим шагом было создание Spring MVC Project в Eclipse. Не используя ничего, кроме кода, сгенерированного шаблоном, я добавил следующие строки в свой servlet-context.xml.

В объявлении "бобы":

<beans ... xmlns:jee="http://www.springframework.org/schema/jee"
xsi:schemaLocation="...
                    http://www.springframework.org/schema/jee 
                    http://www.springframework.org/schema/jee/spring-jee.xsd"

Затем в теле файла добавлено:

<jee:jndi-lookup id="mysqlDatasource" jndi-name="LocalMysql"/>

Что еще мне нужно для подключения?

РЕДАКТИРОВАТЬ С ОБНОВЛЕНИЕМ

В дополнение к тегу, указанному ниже в web.xml, я добавил следующее в geronimo-web.xml:

<dep:dependency>
  <dep:groupId>console.dbpool</dep:groupId>
  <dep:artifactId>LocalMysql</dep:artifactId>
  <dep:version>1.0</dep:version>
  <dep:type>car</dep:type>
</dep:dependency>

так же как:

<name:resource-ref>
  <name:ref-name>LocalMysql</name:ref-name>
  <name:resource-link/>
</name:resource-ref>

Даже с этим дополнением я все еще получаю следующее исключение:

Unable to resolve resource reference 'java:comp/env/LocalMysql' 
(Could not find resource ''.  Perhaps it has not yet been configured, 
or your application does not have a dependency declared for that 
resource module?

1 ответ

<jee:jndi-lookup id="dataSource" jndi-name="jdbc/yourresource"
        expected-type="javax.sql.DataSource" resource-ref="true" />

И ссылка в вашем web.xml:

<resource-ref>
    <res-ref-name>jdbc/yourresource</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    <res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
Другие вопросы по тегам