我有以下的配置,我的web.xmlJBoss的數據源引用失敗
<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 ERROR [org.jboss.as.controller.management運算](HttpManagementService線程 - 6)JBAS014612:操作( 「部署」)失敗 - 地址:([( 「部署」 =>「APP-5.3.ear」)]) - 失敗描述:{「JBAS014771:缺少/不可用依賴關係的服務」=> [ 「jboss.naming.context.java.module。\」App-5.3 \「。 \ 「WebArchive-5.1 \」。env.jdbc.pcbDB丟失[jboss.naming.context.java.jboss.resources.jdbc.pcbDB]」 ]}
回滾發生以下的是,
16:29:57,777 ERROR [org.jboss.as.server](HttpManagementService-threads-6)JBAS015870:部署部署「APP-5.3.ear」時回滾了以下故障消息: {「JBAS014771 :缺少/不可用依賴的服務「=> [ 」jboss.naming.context.java.module。「App-5.3 \」。\「WebArchive-5.1 \」。env.jdbc.pcbDB is missing [jboss.naming .context.java.jboss.resources.jdbc.pcbDB]」 ]}
我在standalone.xml創建相應的數據源。從Web控制檯測試連接成功....
Name: pcbdb
JNDI: java:/jdbc/pcbDB
這是數據源定義我在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>'。相反,它應該是' Container '。該容器將找出auth方法和連接池。無需在應用程序中做到這一點,其實就是擊敗目的。 –
CoolBeans
我已經添加了數據源定義,在文章中...... –
'initCtx.lookup(「java:comp/env/jdbc/pcbDB」);'成功我想....但我不太確定因爲我的整體部署失敗...... –