java - 当我的连接被管理禁用时提交的事务

标签 java hibernate spring transactions weblogic

我的项目使用struts、hibernate和spring、oracle db、WebLogic服务器。

我有一个事务插入了很多表(大约 20 个),并且我很确定它在事务中运行。

现在我发现有时(0.001的概率?)表格没有完全插入, 比如成功插入了 10 个表,而其他表则没有插入。

以下是来自 spring 的错误日志。

ExecuteThread: '8' for queue: 'weblogic.kernel.Default (self-tuning)'] SQLErrorCodesFactory: Error while extracting database product name - falling back to empty error codes org.springframework.jdbc.support.MetaDataAccessException: Error while extracting DatabaseMetaData; nested exception is java.sql.SQLException: Connection has been administratively disabled. Try later.

当连接被管理禁用时,spring(或 hibernate 的事务管理器或 weblogic)会做什么。

最佳答案

我不是 Weblogic 专家,但听起来与池管理有关...... 您能否检查一下您的 Weblogic 服务器是否有任何修复(不知道您使用的是什么版本)...... 在某些情况下,您的池无法足够快地填充,因此没有可用的连接...我认为一旦数据库足够快地响应,池应该能够返回到标准上下文...(只是猜测)

关于java - 当我的连接被管理禁用时提交的事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9208778/

相关文章:

sql - 列中的空值违反了非空约束

java - 如何使用 Hibernate/JPA 2 实现 Spring Security 用户/权限?

java - 设置 Spring JmsListener 的 DeliveryMode

java - Spring MVC 请求太慢

java - 如何在 Spring MVC 中存储 session

java - `Syntax error, insert "AssignmentOperator Expression"to complete Expression` 是什么意思?

java - 严重的 Guava 内存泄漏 - 需要解决方法

java - 为什么使用全局异常处理时必须使用try catch?

hibernate - Hibernate Search 5.11 indexNullAs不起作用

java - 如何使 Content-Type header 可选?