報表工具FineReport報錯:java.sql.SQLException: The database is already in use by another process: lockFile

description The server encountered an internal error () that prevented it from fulfilling this request.

exception 

javax.servlet.ServletException: Servlet.init() for servlet ReportServer threw exception
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
java.lang.Thread.run(Thread.java:662)

root cause 

java.lang.RuntimeException: CREATE EMB-DB: SET LOGSIZE FAILED!
com.fr.data.core.db.DBUtils.getEmbeddedDB(Unknown Source)
com.fr.data.core.db.DBUtils.getEmbeddedDB(Unknown Source)
com.fr.web.core.db.FineDB.refreshDB(Unknown Source)
com.fr.web.core.db.FineDB.getDB(Unknown Source)
com.fr.web.core.db.PlatformDB.refreshDB(Unknown Source)
com.fr.web.core.db.PlatformDB.getDB(Unknown Source)
com.fr.fs.web.service.ScheduleService.initScheduleServer(Unknown Source)
com.fr.fs.web.service.ScheduleService.<init>(Unknown Source)
com.fr.fs.FSModule.service4Register(Unknown Source)
com.fr.module.ServerModule.start(Unknown Source)
com.fr.report.module.EngineModule.start(Unknown Source)
com.fr.base.ModuleContext.startModule(Unknown Source)
com.fr.web.BaseServlet.init(Unknown Source)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
java.lang.Thread.run(Thread.java:662)

root cause 

com.fr.third.org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (The database is already in use by another process: lockFile: com.fr.third.org.hsqldb.persist.LockFile@d869f972[file =/home/creditcc/creditcc/webapps/WebReport/WEB-INF/finedb/db.lck, exists=true, locked=false, valid=false, ] method: checkHeartbeat length: 0)
com.fr.third.org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549)
com.fr.third.org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)
com.fr.third.org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
com.fr.data.pool.MemoryConnection.create(Unknown Source)
com.fr.data.impl.JDBCDatabaseConnection.createConnection(Unknown Source)
com.fr.data.core.db.DBUtils.getEmbeddedDB(Unknown Source)
com.fr.data.core.db.DBUtils.getEmbeddedDB(Unknown Source)
com.fr.web.core.db.FineDB.refreshDB(Unknown Source)
com.fr.web.core.db.FineDB.getDB(Unknown Source)
com.fr.web.core.db.PlatformDB.refreshDB(Unknown Source)
com.fr.web.core.db.PlatformDB.getDB(Unknown Source)
com.fr.fs.web.service.ScheduleService.initScheduleServer(Unknown Source)
com.fr.fs.web.service.ScheduleService.<init>(Unknown Source)
com.fr.fs.FSModule.service4Register(Unknown Source)
com.fr.module.ServerModule.start(Unknown Source)
com.fr.report.module.EngineModule.start(Unknown Source)
com.fr.base.ModuleContext.startModule(Unknown Source)
com.fr.web.BaseServlet.init(Unknown Source)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
java.lang.Thread.run(Thread.java:662)

root cause 

java.sql.SQLException: The database is already in use by another process: lockFile: com.fr.third.org.hsqldb.persist.LockFile@d869f972[file =/home/creditcc/creditcc/webapps/WebReport/WEB-INF/finedb/db.lck, exists=true, locked=false, valid=false, ] method: checkHeartbeat length: 0
com.fr.third.org.hsqldb.jdbc.Util.sqlException(Util.java:63)
com.fr.third.org.hsqldb.jdbc.jdbcConnection.<init>(jdbcConnection.java:2430)
com.fr.third.org.hsqldb.jdbcDriver.getConnection(jdbcDriver.java:183)
com.fr.third.org.hsqldb.jdbcDriver.connect(jdbcDriver.java:161)
com.fr.third.org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
com.fr.third.org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
com.fr.third.org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556)
com.fr.third.org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545)
com.fr.third.org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)
com.fr.third.org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
com.fr.data.pool.MemoryConnection.create(Unknown Source)
com.fr.data.impl.JDBCDatabaseConnection.createConnection(Unknown Source)
com.fr.data.core.db.DBUtils.getEmbeddedDB(Unknown Source)
com.fr.data.core.db.DBUtils.getEmbeddedDB(Unknown Source)
com.fr.web.core.db.FineDB.refreshDB(Unknown Source)
com.fr.web.core.db.FineDB.getDB(Unknown Source)
com.fr.web.core.db.PlatformDB.refreshDB(Unknown Source)
com.fr.web.core.db.PlatformDB.getDB(Unknown Source)
com.fr.fs.web.service.ScheduleService.initScheduleServer(Unknown Source)
com.fr.fs.web.service.ScheduleService.<init>(Unknown Source)
com.fr.fs.FSModule.service4Register(Unknown Source)
com.fr.module.ServerModule.start(Unknown Source)
com.fr.report.module.EngineModule.start(Unknown Source)
com.fr.base.ModuleContext.startModule(Unknown Source)
com.fr.web.BaseServlet.init(Unknown Source)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
java.lang.Thread.run(Thread.java:662)


曾經部署到tomcat中的FineReport報表工具今天報如上錯誤,經多方查證對比,發現原來確實是WebReport/WEB-INF/finedb/db.lck這個文件出了問題。將此文件刪除後再重新訪問此報表http://localhost:8080/WebReport/ReportServer,FineReport可以正常訪問了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章