我正在从JBoss 5升级到JBoss 7.在JBOSS 5中设置的Oracle DB数据源连接可以在内部和我们公司的防火墙中顺利运行。在JBOSS 7中设置的Oracle DB数据源连接仅在防火墙内部工作。但是当我在家工作并尝试从外部防火墙测试数据源连接时,我在JBOSS 7控制台上收到以下错误:
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]
这是standalone.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 :(得分:0)
使用Oracle SQL Developer或JPA wizzard或其他任何方式检查与数据库的连接。可能是您的公司安全策略阻止了连接。或者您可能通过代理连接?或者,你不应该通过VPN连接?无论如何,首先检查数据库连接。 如果这样可行,请检查您的standalone.xml是否还没有定义代理。