- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这个生产问题现在占据了我的头。我已将 Bitronix 配置为使用 jBPM5 工具作为事务管理器。它在很长一段时间内工作正常,但突然开始出现以下异常情况。
异常堆栈跟踪
Caused by: java.sql.SQLException: unable to get a connection from pool of a PoolingDataSource containing an XAPool of resource jdbc/jbpm-ds with 1 connection(s) (1 still available)
at bitronix.tm.resource.jdbc.PoolingDataSource.getConnection(PoolingDataSource.java:262)
at org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider.getConnection(InjectedDataSourceConnectionProvider.java:71)
at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:446)
... 78 more
Caused by: bitronix.tm.internal.BitronixRuntimeException: cannot get valid connection from an XAPool of resource jdbc/jbpm-ds with 1 connection(s) (1 still available) after trying for 30s
at bitronix.tm.resource.common.XAPool.getConnectionHandle(XAPool.java:160)
at bitronix.tm.resource.common.XAPool.getConnectionHandle(XAPool.java:91)
at bitronix.tm.resource.jdbc.PoolingDataSource.getConnection(PoolingDataSource.java:258)
... 80 more
Caused by: java.sql.SQLRecoverableException: IO Error: Connection timed out
at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:899)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1175)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1296)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3613)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3657)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1495)
at bitronix.tm.resource.jdbc.JdbcPooledConnection.testConnection(JdbcPooledConnection.java:215)
at bitronix.tm.resource.jdbc.JdbcPooledConnection.getConnectionHandle(JdbcPooledConnection.java:299)
at bitronix.tm.resource.common.XAPool.getConnectionHandle(XAPool.java:130)
... 82 more
Caused by: java.net.SocketException: Connection timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:150)
at java.net.SocketInputStream.read(SocketInputStream.java:121)
at oracle.net.ns.Packet.receive(Packet.java:308)
at oracle.net.ns.DataPacket.receive(DataPacket.java:106)
at oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:324)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:268)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:190)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:107)
at oracle.jdbc.driver.T4CSocketInputStreamWrapper.readNextPacket(T4CSocketInputStreamWrapper.java:124)
at oracle.jdbc.driver.T4CSocketInputStreamWrapper.read(T4CSocketInputStreamWrapper.java:80)
at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1137)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:350)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:227)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:208)
at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:886)
... 90 more
奇怪的是,应用程序在 XAPool 中有足够数量的 XA 连接可用。它接受连接,尝试连接,无法连接,只是丢弃连接并使用新连接进行处理。
SEVERE: unable to get a connection from pool of a PoolingDataSource containing an XAPool of resource jdbc/jbpm-ds with 9 connection(s) (9 still available)
SEVERE: unable to get a connection from pool of a PoolingDataSource containing an XAPool of resource jdbc/jbpm-ds with 8 connection(s) (8 still available)
SEVERE: unable to get a connection from pool of a PoolingDataSource containing an XAPool of resource jdbc/jbpm-ds with 7 connection(s) (7 still available)
任何人都可以从这个问题中解脱出来吗?
更新1:
经过一些尝试,我能够在本地重现同样的问题。一旦数据库连接被重置或我的应用程序和数据库之间的网络连接丢失,PoolingDataSource(由 Bitronix 提供)池中的池连接将变得无效。我的问题是为什么它无法自动恢复?有什么原因可以让我们自动恢复或建立新的连接?
我正在使用 btm
版本 2.1.4
。
谢谢,马亚克
最佳答案
我遇到了同样的问题,但这是由于用户权限所致。我的用户没有足够的权限,所以我遇到了这个问题。之后,我运行了下面提到的这 3 个命令来创建一个新用户,它对我有用。我希望,它可以帮助某人。
关于jdbc - 无法从 PoolingDataSource 的池中获取连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26777585/
我已经实现了 commons dbcp PoolingDataSource 及其工作完美 - 直到我遇到使用 java.sql.PreparedStatement 接口(interface)的特定实现
这个生产问题现在占据了我的头。我已将 Bitronix 配置为使用 jBPM5 工具作为事务管理器。它在很长一段时间内工作正常,但突然开始出现以下异常情况。 异常堆栈跟踪 Caused by: jav
引用apache commons dbcp,PoolingDataSource和PoolingDriver有什么区别?源代码状态 “请注意,此示例与 PoolingDriver 示例非常相似。事实上,
org.apache.commons.dbcp BasicDatasource 和 PoolingDataSoure 有什么区别?两者都支持连接池吗?什么时候使用它们? 最佳答案 BasicDataS
是否可以使用 bitronix.tm.resource.jdbc.PoolingDataSource 不使用 bitronix 事务管理器和使用独立 JBossTS相反? 对于数据库访问,我使用 Hi
尝试遵循 apache dbcp 示例的模式,我了解一切,除了数据库属性的来源和来源以及它们必须放置在应用程序上下文中的哪个 bean 中。 我使用了 Spring Data Source,但我记得我
如果我将一个网络应用程序部署到 Tomcat,并且有这样的代码: Context ctx = new InitialContext(); DataSource ds = (DataSource)ctx
conn= Ds.getConnection(); 连接oraconn = ((DelegatingConnection)conn).getInnermostDelegate(); 它给出以下异常ja
geeting org.apache.tomcat.dbcp.dbcp.PoolingDataSource$PoolGuardConnectionWrapper 无法通过使用 tomcat 服务器和
我正在尝试在 Tomcat 9 上部署我的应用程序,并且我的应用程序使用 eclipselink 作为 JPA 提供程序。我的应用程序在 WebLogic 12 服务器上运行良好,但在 Tomcat
我正在使用 Apache Commons DBCP (commons-dbcp.jar) 连接池。 一旦我从池中获得连接,它就会被包装在类 org.apache.commons.dbcp.Poolin
我是一名优秀的程序员,十分优秀!