我正在开发一个连接到hsqldb 2.3.3的java webapp(Spring 4,Jpa 2,Hibernate 4,HikariCp 2.3.8)。 我的客户在测试了#34;数据库锁定获取失败"的短暂时间后报告了锁定。 我正在使用这样的jdbc网址:
JDBC:HSQLDB:文件:/路径到数据库/ maindb;关闭= TRUE; hsqldb.write_delay = FALSE;
我有两个疑问: - 在"连接池"中使用hsqldb的独立文件模式是正确的。背景?我想知道这个锁是否是由于数据库可以在独立模式下一次只为一个进程打开。 - 在"连接池"中使用shutdown = true是正确的。背景?关闭每个连接时,它是不是一直在关闭数据库?其他人会怎么样?
感谢您的帮助
答案 0 :(得分:1)
数据库确实可以一次只为一个进程打开。您需要一台服务器来管理来自多个进程的连接。 "数据库锁定获取失败"当第二个进程尝试直接连接时,总是抛出它。
将文件模式与连接池一起使用是很好的,因为所有连接都来自同一个进程。最好运行服务器,因为您可以访问Web应用程序之外的数据库。
注意提供shutdown = true以供在测试环境中使用,不应在此处使用。应该在需要时发出明确的SHUTDOWN。