我正在使用GlassFish,Hibernate,Spring(用于事务mgmt)和Oracle 11g构建JSF2应用程序。
应用程序运行了一段时间后,该应用程序无法查询数据库,并且我在GlassFish日志中收到以下错误:
引起原因:java.sql.SQLException:侦听器拒绝连接,并出现以下错误:ORA-12519,TNS:找不到合适的服务处理程序
听起来好像Oracle的连接用完了,但是Oracle中的进程设置为150(我认为这意味着它将接受150个连接),这似乎很多。
我的Hibernate配置似乎设置为使用1个连接(如下所示)。为什么应用程序会打开150个以上的连接?
您如何建议我解决这个问题?任何建议,不胜感激。
<property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property> <property name="hibernate.connection.url">jdbc:oracle:thin:@1.2.3.4:1521:orcl</property> <property name="hibernate.connection.username">username</property> <property name="hibernate.connection.password">password</property> <property name="hibernate.connection.pool_size">1</property>
这是Oracle服务器上的问题:
http://ora-12519.ora-code.com/
侦听器找不到适合客户端连接的任何可用服务处理程序。
换句话说,尽管JDBC URL中可能有错误,但与Hibernate,Java或Spring无关。
与您的DBA交谈,了解发生了什么情况。