我正在spring3项目中工作。当我运行代码时,有时我会因为某些特定功能而收到此Jdbc Connection Exception,但其他功能运行得很好。而且此异常不是重复发生的,而是有时发生的,所以我无法弄清错误的出处。
请帮助我解决这个问题。


     org.springframework.jdbc.CannotGetJdbcConnectionException:无法获取JDBC连接。嵌套的异常是java.sql.SQLException:侦听器拒绝连接并出现以下错误:
  ORA-12519,TNS:找不到合适的服务处理程序
  客户端使用的连接描述符为:
  localhost:1521:XE在org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:80)
      在org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:573)
      在org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:637)
      在org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:666)
      在org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:674)
      被截断了。请参阅日志文件以获取完整的stacktrace
  java.sql.SQLException:侦听器拒绝连接,并出现以下错误:
  ORA-12519,TNS:找不到合适的服务处理程序
  客户端使用的连接描述符为:
  本地主机:1521:XE
      在oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
      在oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:261)
      在oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:387)
      在oracle.jdbc.driver.PhysicalConnection。(PhysicalConnection.java:420)
      在oracle.jdbc.driver.T4CConnection。(T4CConnection.java:165)
      被截断了。请参阅日志文件以获取完整的stacktrace

最佳答案

该症状有两个常见原因


连接池已耗尽,打开了太多活动连接,下一个客户端无法获取它。这可能是连接池泄漏
连接池设置不会定期/借用测试空闲连接,因此,当OS截断TCP连接时(例如:因为OS认为它处于空闲状态,什么也不做),该池仍然认为它是有效的

09-30 15:19
查看更多