2015-05-19 1 views
0

У меня есть следующая конфигурация в моем 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"); ... это правильно ......?

+0

Не могли бы вы добавить фактическое определение источника данных? Во-вторых, вы, вероятно, не хотите ' Приложение Совместное использование'. Вместо этого это должно быть ' Контейнер'. Контейнер будет определять метод auth и пул соединений. Не нужно делать это в приложении, на самом деле побеждает цель. – CoolBeans

+0

Я добавил определение источника данных в сообщении ... –

+0

'initCtx.lookup (« java: comp/env/jdbc/pcbDB »);« Успешно я думаю ... Но я не очень уверен поскольку мое общее развертывание не удается .... –

ответ

0

JDNI поиск неудачен для этого, - java:comp/env/jdbc/pcbDB

JNDI поиск для этой строки - java:/jdbc/pcbDB успешно ....