在多个用户的负载测试期间注意到以下错误,但在单个 SOAP 请求的情况下则没有。
无法打开事务的 JDBC 连接;嵌套异常是 java.sql.SQLException: javax.resource.ResourceException: IJ000453: 无法获取 java 的托管连接:
这可能是由于以下任一原因造成的:
确保相应数据源的
min-pool-size
和 max-pool-size
值根据 application load testing
设置,并且连接在应用程序代码内使用后关闭。
您很可能已经在应用程序中发现了瓶颈,它似乎无法处理那么多虚拟用户。最简单的解决方案是在错误跟踪系统中提出问题并让开发人员进行调查。
如果您需要提供失败的根本原因,我至少可以想到两个原因:
min-pool-size
和max-pool-size
与虚拟用户数量相匹配的值 最近,我遇到了同样的问题,在connectionFactory中添加配置useInboundSession后解决了。
DEBUG o.h.e.j.s.SqlExceptionHelper [默认任务 36] 无法清除警告 java.sql.SQLException:IJ031070:事务无法继续:STATUS_ROLLEDBACK 在 org.jboss.jca.adapters.jdbc.WrapperDataSource.checkTransactionActive(WrapperDataSource.java:272) 在 org.jboss.jca.adapters.jdbc.WrappedConnection.checkTransactionActive(WrappedConnection.java:2005) 在 org.jboss.jca.adapters.jdbc.WrappedConnection.checkStatus(WrappedConnection.java:2020) 在 org.jboss.jca.adapters.jdbc.WrappedConnection.checkTransaction(WrappedConnection.java:1994) 在 org.jboss.jca.adapters.jdbc.WrappedConnection.clearWarnings(WrappedConnection.java:1153) 在org.hibernate.engine.jdbc.spi.SqlExceptionHelper.handleAndClearWarnings(SqlExceptionHelper.java:299) 在org.hibernate.engine.jdbc.spi.SqlExceptionHelper.logAndClearWarnings(SqlExceptionHelper.java:269) 在org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.releaseConnection(LogicalConnectionManagedImpl.java:194) 在org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.close(LogicalConnectionManagedImpl.java:239) 在org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.close(JdbcCoordinatorImpl.java:175) 在org.hibernate.internal.AbstractSharedSessionContract.close(AbstractSharedSessionContract.java:327)