Попытка доступа к источнику данных Tomcat через ResourceLink вместо этого возвращает ResourceRefLink - PullRequest
0 голосов
/ 07 января 2019

Я пытаюсь получить доступ к источнику данных через ResourceLink.

В server.xml у меня есть

<GlobalNamingResources>
    <Resource name="jdbc/nameXGlobal" auth="Container" type="javax.sql.DataSource"
              username="usernameX" password="passwordX"
              driverClassName="oracle.jdbc.xa.client.OracleXADataSource"
              url="jdbc:oracle:thin:urlinfo"/>
</GlobalNamingResources>

В context.xml у меня есть следующее:

<Context>
    <ResourceLink name="jdbc/nameX" global="jdbc/nameXGlobal" type="javax.sql.DataSource"/>
</Context>

Однако, когда я пытаюсь выполнить поиск, я получаю сообщение об ошибке «java.lang.ClassCastException: org.apache.naming.ResourceLinkRef не может быть приведен к javax.sql.DataSource», что означает, что он не получает источник данных, а просто ResourceRefLink , Если я просто помещаю ресурс в контекст напрямую, а не делаю его глобальным через server.xml, я не получаю сообщение об ошибке, поэтому, похоже, проблема заключается в том, как я ссылаюсь на ресурс в context.xml.

Я не вижу отличий от того, как я создаю ResourceLink в контексте, от собственной рекомендации Tomcat на этой странице: https://tomcat.apache.org/tomcat-9.0-doc/config/context.html. Чего мне не хватает, из-за чего ResourceLink фактически не может ссылаться на ресурс

1 Ответ

0 голосов
/ 27 февраля 2019

Для меня это работает, просто поместив тег ресурса непосредственно в context.xml без ResourceLink

...