weblogic配置数据库连接的方法

发布时间:2021-07-05 17:52:07 作者:chen
来源:亿速云 阅读:295

本篇内容介绍了“weblogic配置数据库连接的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1、问题描述

附件同步会发送文件消息给消息中间件,然后会删除数据库中对应附件记录,不断的重复这样的过程,但是最近的附件同步好像进入了死循环,消息中间件里的附件数量一直在增加,可以看到下面的阻塞的附加数量已经到1万了,平时一天只有几百的附件,怎么会有这么大的附件数量呢

weblogic配置数据库连接的方法

2、分析

boolean successFlag = SyncManagerService.getInstance().sendMessageToMQ(message);
Log.info("[LiEMS数据同步引擎日志--附件] 发送消息队列结束 结果successFlg为" + successFlag);
if (successFlag)
{
 Log.info("[LiEMS数据同步引擎日志--附件] 删除生产库的dkdocmst_temp表记录开始");
 deleteTempData(db, detailDataObj);
 Log.info("[LiEMS数据同步引擎日志--附件] 删除生产库的dkdocmst_temp表记录结束");
}

先把文件发送到消息中间件,然后删除数据库对应的记录,下次同步的就是以后的附件,这里怎么会重复发送呢,再者我们上面这段代码是放在同步块里的啊

 synchronized (SyncBizFileDataToMQService.class)
{
}

初步怀疑就是数据库没有删除成功,这时就要找证据了,打开日志发现如下内容

[ERROR][2019-07-04 17:51:53][SYSTEM]net.luculent.core.database.DBException: Connection has already been closed. with sql is delete from DKDOCMST_TEMP where DOC_ID = '1146689096949694464' and TEMP_PKVAL = '1198020'

3、原因

从上面来看数据库连接被自动释放了,有个直觉就是发送附件时间太长,不活动连接多长时间就自动释放,但是发送大附件的又不是头一次,肯定是现场改了配置,于是联系现场人,现场人说优化过weblogic的参数,各种截图给我确认,可是看着都不像,最后想到weblogic的数据库连接参数都是在配置文件中的,于是打开配置文件惊奇的发现了一个配置项Inactive Connection Time-Out,配置了60,立刻让现场人去掉这个配置,现场人也和我解释是根据优化手册配置的,总结一下吧,毕竟花了很长时间排查这个问题,最后附上这个参数的含义:https://blogs.oracle.com/saas-fusion-app-performance/inactive-connection-time-out

“weblogic配置数据库连接的方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

推荐阅读:
  1. 通过weblogic数据源实现配置oracle and mysql方法
  2. weblogic_server103.c的安装及配置

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

weblogic

上一篇:Python中怎么判断字符串以什么开始

下一篇:Python中怎么制作一个图片验证码

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》