java - java webapp 中的 hsqldb 独立模式

标签 java connection-pooling hsqldb

我正在开发一个连接到 hsqldb 2.3.3 的 java webapp(Spring 4、Jpa 2、Hibernate 4、HikariCp 2.3.8)。 我的客户在短暂测试后报告了锁定“数据库锁定获取失败”。 我正在使用这样的 jdbc url:

jdbc:hsqldb:文件:/数据库路径/maindb;shutdown=true;hsqldb.write_delay=false;

我有两个疑问: - 在“连接池”上下文中使用 hsqldb 的独立文件模式是否正确?我想知道这个锁是否是由于在独立模式下一次只能为一个进程打开数据库这一事实造成的。 - 在“连接池”上下文中使用 shutdown=true 是否正确?关闭每个连接时,它不是不断地对数据库进行关闭吗?其他人会怎样?

谢谢你帮助我

最佳答案

数据库确实一次只能为一个进程打开。您需要一台服务器来管理来自多个进程的连接。当第二个进程尝试直接连接时,总是抛出“数据库锁获取失败”。

可以将文件模式与连接池一起使用,因为所有连接都来自同一进程。最好运行服务器,因为您可以访问网络应用程序外部的数据库。

注意 shutdown=true 是为了在测试上下文中使用而提供的,不应在此处使用。需要时应发出显式 SHUTDOWN。

关于java - java webapp 中的 hsqldb 独立模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31440951/

相关文章:

sql - sp_reset_connection 的作用是什么?

java - hibernate 5 : db connections are still not released (idle in transaction) after lazy loading

java - 我们如何在 Java 中关闭 hsqldb 数据库

java - 无法连接到 hsqldb 数据库

java - 如何在 Spring Boot 测试中连接到内存中的 HSQLDB 以进行查询

java - 在 Android + OpenCV 上删除 HoughLinesP 之后的重复行

java - 如何迁移到 XML 配置

java - Spring Form 标签库的选项组功能

java - Postgres 与 Glassfish 连接池

java - 使用 openjdk 13.0.2 运行时运行 .jar 文件会引发异常