У меня есть следующая конфигурация в моем web.xmlJBoss ссылка DataSource в web.xml не удается
<resource-ref id="ResourceRef_1234567890">
<res-ref-name>jdbc/pcbDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Application</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
Хотя я раскрываю мое заявление я получаю следующее сообщение об ошибке.
16: 29: 57745 ОШИБКА [org.jboss.as.controller.management-операции] (HttpManagementService-нити - 6) JBAS014612: Операция ("развернуть") не удалось - адрес: ([("развертывание" => «APP-5.3.ear»)]) - описание сбоя: {"JBAS014771: службы с отсутствующими/недоступными зависимостями" => [ "jboss.naming.context.java.module. \" App-5.3 \ ". \ "Веб-архив-5,1 \". env.jdbc.pcbDB отсутствует [jboss.naming.context.java.jboss.resources.jdbc.pcbDB]» ]}
Откат происходит после этого,
16: 29: 57,777 ОШИБКА [org.jboss.as.server] (HttpManagementService-threads - 6) JBAS015870: развертывание развертывания «APP-5.3.ear» было отброшено со следующим сообщением об ошибке: {"JBAS014771 : Службы с отсутствующими/недоступными зависимостями "=> [ " jboss.naming.context.java.module. \ "Приложение-5.3 \". \ "WebArchive-5.1 \". Отсутствует env.jdbc.pcbDB [jboss.naming .context.java.jboss.resources.jdbc.pcbDB]» ]}
у меня есть соответствующий источник данных, созданный в standalone.xml. С помощью веб-консоли преуспевает Пров.соед ....
Name: pcbdb
JNDI: java:/jdbc/pcbDB
И это определение DataSource У меня есть в standalone.xml .....
<!--Here is datasource config.... As I had many spaces in xml config I couldn't add it as code..... Now I have copied it by the char comes with tilt ~ -->
<datasource jndi-name="java:/jdbc/pcbDB" pool-name="pcbdb" enabled="true">
<connection-url>jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=off)(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=XE)(SERVER=DEDICATED)))</connection-url>
<driver>com.oracle</driver>
<pool>
<min-pool-size>3</min-pool-size>
<max-pool-size>5</max-pool-size>
</pool>
<security>
<user-name>pcbdb</user-name>
<password>passwd</password>
</security>
<validation>
<exception-sorter class-name="org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter"/>
</validation>
<timeout>
<blocking-timeout-millis>5000</blocking-timeout-millis>
<idle-timeout-minutes>5</idle-timeout-minutes>
</timeout>
</datasource>
Пожалуйста дать решение .... Для этого у меня есть context.lookup. Похоже, initCtx.lookup("java:comp/env/jdbc/pcbDB");
... это правильно ......?
Не могли бы вы добавить фактическое определение источника данных? Во-вторых, вы, вероятно, не хотите ' Приложение Совместное использование res-sharing-scope>'. Вместо этого это должно быть ' Контейнер '. Контейнер будет определять метод auth и пул соединений. Не нужно делать это в приложении, на самом деле побеждает цель. –
CoolBeans
Я добавил определение источника данных в сообщении ... –
'initCtx.lookup (« java: comp/env/jdbc/pcbDB »);« Успешно я думаю ... Но я не очень уверен поскольку мое общее развертывание не удается .... –