WAL模式下的Java SQLite:数据库已锁定

WAL模式下的Java SQLite:数据库已锁定,java,sqlite,locking,wal,Java,Sqlite,Locking,Wal,我在我的多线程应用程序中使用SQLite。为了确保这不会引起问题,我将SQLite数据库设置为WAL模式。所有线程共享一个在运行时从不关闭的连接。 然而,我在执行批处理时遇到了这个错误,我不知道为什么会发生这种情况。所有对数据库的写入都是使用singlethreadexecutor完成的,读取是在多个线程中完成的 java.sql.SQLException: database is locked at org.sqlite.DB.throwex(DB.java:370) at org.sql

我在我的多线程应用程序中使用SQLite。为了确保这不会引起问题,我将SQLite数据库设置为WAL模式。所有线程共享一个在运行时从不关闭的连接。 然而,我在执行批处理时遇到了这个错误,我不知道为什么会发生这种情况。所有对数据库的写入都是使用singlethreadexecutor完成的,读取是在多个线程中完成的

java.sql.SQLException: database is locked 
at org.sqlite.DB.throwex(DB.java:370) 
at org.sqlite.DB.executeBatch(DB.java:302) 
at org.sqlite.PrepStmt.executeBatch(PrepStmt.java:93) 

提前感谢

找到了答案:由于旧池系统的遗留问题,服务器重新加载后,我没有正确关闭连接。

可能是重复的