2013-12-23 54 views
0

我從JBoss 5升級到JBoss 7.在JBOSS 5中建立的Oracle數據庫數據源連接在公司內部和公司內部的防火牆上都能夠平穩運行。 JBOSS 7中設置的Oracle DB數據源連接只能在防火牆內運行。但是,當我從家裏工作,並嘗試測試從外部防火牆的數據源連接,我得到JBOSS 7控制檯上出現以下錯誤:JBoss7數據源連接到Oracle數據庫外部公司防火牆 - 不工作


Caused by: java.sql.SQLRecoverableException: IO Error: The Network Adapter could not establish the connection 
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:489) 
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:553) 
    ......................... 
Caused by: oracle.net.ns.NetException: The Network Adapter could not establish the connection 
    at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:439) 
    at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:454) 
    ........................ 
Caused by: java.net.ConnectException: Connection timed out: connect 
    at java.net.TwoStacksPlainSocketImpl.socketConnect(Native Method) [rt.jar:1.7.0_45] 
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339) [rt.jar:1.7.0_45] 

這裏是我們的獨立數據源配置。 xml文件:


<datasources> 
    <datasource jta="true" jndi-name="java:/myc3p0DataSource" pool-name="myc3p0DataSource" enabled="true" use-java-context="true" use-ccm="true"> 
    <connection-url>jdbc:oracle:thin:@dddddbbbbb.company.com:1521:testdb</connection-url> 
    <driver>ojdbc6</driver> 
    <pool> 
     <prefill>true</prefill> 
     <use-strict-min>false</use-strict-min> 
     <flush-strategy>FailingConnectionOnly</flush-strategy> 
    </pool> 
    <security> 
     <user-name>xxxxxxxxxxxxx</user-name> 
     <password>yyyyyyyyyyyyyy</password> 
    </security> 
</datasource> 
<drivers>      
    <driver name="ojdbc6" module="com.oracle"> 
    <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class> 
    </driver> 
    <driver name="ojdbc14" module="com.oracle.ojdbc14"> 
    <driver-class>oracle.jdbc.driver.OracleDriver</driver-class> 
    </driver> 
</drivers> 
</datasources> 

請就解決這個問題提供指導和建議。非常感謝你和節日快樂。

+0

它是JBoss 5的一個不同的數據源嗎?你提到DS在你家工作。 –

回答

0

使用Oracle SQL Developer或JPA wizzard或其他任何方式檢查與數據庫的連接。可能您的公司安全策略會阻止連接。或者,也許你正在通過代理連接?或者,你不應該通過VPN連接嗎?無論如何,首先檢查數據庫連接。 如果可行,請檢查您的standalone.xml是否沒有在其中定義代理。