JBoss7数据源连接到Oracle DB外部公司防火墙 - 不工作

时间:2013-12-23 23:06:02

标签: java oracle jboss

我正在从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>

请提供有关解决此问题的指导和建议。非常感谢你,节日快乐。

1 个答案:

答案 0 :(得分:0)

使用Oracle SQL Developer或JPA wizzard或其他任何方式检查与数据库的连接。可能是您的公司安全策略阻止了连接。或者您可能通过代理连接?或者,你不应该通过VPN连接?无论如何,首先检查数据库连接。 如果这样可行,请检查您的standalone.xml是否还没有定义代理。