Итак, у меня есть файл context.xml, расположенный под META-INF. Существует только один файл context.xml.
Мой вопрос:
Когда я извлекаю запись из InitialContext, используя jdbc/myDataSource
, я получаю очень распространенное исключение «Имя jdbc не связано в этом контексте». Как я могу настроить свой Context / Tomcat для успешного возврата моего DataSourceFactory, когда кто-то пытается извлечь его из InitialContext, используя jdbc/myDataSource
?
Примечание: У меня нет контроля над тем, как вызывается DataSourceFactory.
Также я подтвердил, что могу получить доступ к источнику данных через java:comp/env/jdbc/myDataSource
.
Запись Context в context.xml файла выглядит так:
<Context shallowOutput="true" path="/">
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Resource name="jdbc/myDataSource"
auth="Container"
type="javax.sql.DataSource"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
driverClassName="oracle.jdbc.driver.OracleDriver"
username="OMITTED"
password="OMITTED"
url="OMITTED"
maxActive="20"
maxIdle="10"
maxWait="-1"/>
</Context>
Запись в моем web.xml выглядит следующим образом:
<resource-ref>
<res-ref-name>jdbc/myDataSource</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>