Источник данных JNDI в портлете GateIn на JBoss 7.1
Я пытаюсь получить источник данных в портлете, который я развернул в GateIn 3.2.0 на JBoss 7.1.
Сначала я создал источник данных в standalone.xml
<datasource jta="true" jndi-name="java:jboss/datasources/ccr" pool-name="ccr-pool" enabled="true" use-java-context="false" use-ccm="true">
<connection-url>jdbc:mysql://localhost:42006/contentrepository</connection-url>
<driver>com.mysql</driver>
<security>
<user-name>node</user-name>
</security>
<statement>
<prepared-statement-cache-size>100</prepared-statement-cache-size>
<share-prepared-statements>true</share-prepared-statements>
</statement>
</datasource>
Я также добавил драйвер и модуль для драйвера.
В моем портлете я пытаюсь получить доступ к источнику данных, используя
dataSource = (DataSource) new InitialContext().lookup("java:jboss/datasources/ccr");
но я получаю только исключение javax.naming.NameNotFoundException: имя 'jboss' не найдено в контексте ''.
Я также пытался получить его с
dataSource = (DataSource) new InitialContext().lookup("java:comp/env/datasources/ccr");
и сопоставил его со следующими записями в web.xml и jboss-web.xml
web.xml:
<resource-ref>
<description>MySQL DS</description>
<res-ref-name>datasources/ccr</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
JBoss-web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
<resource-ref>
<res-ref-name>datasources/ccr</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<jndi-name>java:jboss/datasources/ccr</jndi-name>
</resource-ref>
</jboss-web>
тогда я получил javax.naming.NameNotFoundException: имя 'comp' не найдено в контексте ''.
Что мне не хватает? Существуют ли какие-либо настройки безопасности, которые не позволяют моему приложению получать источник данных?
Странно, но я мог получить источник данных в том же веб-приложении при использовании сервлета, но только в методах doGet/doPost, а не в init().
1 ответ
У меня такая же проблема на GateIn 3.3. Но это не воспроизводится с GateIn 3.4M1. Когда я гуглю эту ошибку, я нашел ее в JIRA здесь: https://issues.jboss.org/browse/GTNPORTAL-2511