错误代码:1120 当前Hsql数据库已被另一线程锁定

原文链接: https://my.oschina.net/shuming/blog/911645

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

公司的项目使用帆软报表,weblogic部署项目后,在使用报表打印的过程中,出现了错误,错误代码:1120 当前Hsql数据库已被另一线程锁定。

帆软报表的常见问题及解决方案也有这个问题,如图所示:

错误代码:1120 当前Hsql数据库已被另一线程锁定_第1张图片

其中,第一句“两个web服务器共用了同一个WebReport”,让我感觉我的问题应该是这个。

查看weblogic的报错日志,可以发现某个路径下的db.lck文件被锁定,根据这个路径可以找到这个"WebReport"。

项目服务器的情况:weblogic版本是1036,64位,建了三个domain,分别部署了一套程序,每套程序使用的都是同一个war包,所以帆软报表的配置文件也都是一样,这样就造成了三套程序都访问同一个finedb,然后就会引起本文所提到的错误,1120,hsql被锁定。

解决办法:发布的每一套程序,都要修改warpath.xml文件,分别对应同一服务器上部署的不用程序即可,文件目录如图所示:

错误代码:1120 当前Hsql数据库已被另一线程锁定_第2张图片

2018/06/21补:

如果没有找到warpath.xml文件,则可在war包的WEB-INF/resources目录下创建名为warpath.xml的文件,在文件中写入当前war包部署后将要存放配置文件临时目录名称。如下是我项目中warpath.xml的内容:

错误代码:1120 当前Hsql数据库已被另一线程锁定_第3张图片

该文件在打war包前创建,或者在打war包后创建再拖进去都行。

转载于:https://my.oschina.net/shuming/blog/911645

你可能感兴趣的:(错误代码:1120 当前Hsql数据库已被另一线程锁定)