2012-02-09 58 views
1

我的项目使用struts,hibernate和spring,oracle db,WebLogic服务器。当我的连接被管理禁用时提交的事务

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

现在我发现有时(概率为0.001?)该表格没有完全插入, 类似插入了10个表格,其他则没有。

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

ExecuteThread: '8' 的队列: 'weblogic.kernel.Default(自调谐)'] SQLErrorCodesFactory:错误而提取数据库产品名称 - 回落到空的错误代码 org.springframework.jdbc.support .MetaDataAccessException:提取DatabaseMetaData时出错;嵌套异常是java.sql.SQLException:连接已被管理禁用。稍后再试。

什么是spring(或hibernate的事务管理器或weblogic)将在连接被管理性禁用时执行。

+0

你需要的不仅仅是“非常确定”你在交易中运行。非常确定。 – skaffman 2012-02-09 10:07:21

回答

0

我不是Weblogic的专家,但听起来相关池管理... 你能检查与WebLogic服务器(不知道你使用的是什么版本).... 任何修正在某些情况下你的游泳池不能足够快地填满,所以没有可用的连接....我认为一旦数据库足够快地回答,游泳池应该能够回到标准环境......(只是猜测)

相关问题