来自 java webapp 的 hsqldb 独立模式
hsqldb standalone mode from java webapp
我正在开发连接到 hsqldb 2.3.3 的 java 网络应用程序(Spring 4、Jpa 2、Hibernate 4、HikariCp 2.3.8)。
我的客户在使用 "Database Lock Acquisition Failure" 进行了短暂的测试后报告了锁定。
我正在使用这样的 jdbc url:
jdbc:hsqldb:file:/path-to-database/maindb;shutdown=true;hsqldb.write_delay=false;
我有两个疑惑:
- 在 "connection pool" 上下文中使用 hsqldb 的独立文件模式是否正确?我想知道这个锁是否是因为在独立模式下一次只能为一个进程打开数据库。
- 在 "connection pool" 上下文中使用 shutdown=true 是否正确?关闭每个连接时,它不会不断地关闭数据库吗?其他人怎么样了?
谢谢你帮助我
确实可以一次只为一个进程打开数据库。您需要一个服务器来管理来自多个进程的连接。当第二个进程尝试直接连接时,总是抛出 "Database lock acquisition failure"。
将文件模式与连接池一起使用很好,因为所有连接都来自同一进程。 运行 最好使用服务器,因为您可以在 Web 应用程序之外访问数据库。
注意 shutdown=true 是为在测试上下文中使用而提供的,不应在此处使用。需要时应发出明确的 SHUTDOWN。
我正在开发连接到 hsqldb 2.3.3 的 java 网络应用程序(Spring 4、Jpa 2、Hibernate 4、HikariCp 2.3.8)。 我的客户在使用 "Database Lock Acquisition Failure" 进行了短暂的测试后报告了锁定。 我正在使用这样的 jdbc url:
jdbc:hsqldb:file:/path-to-database/maindb;shutdown=true;hsqldb.write_delay=false;
我有两个疑惑: - 在 "connection pool" 上下文中使用 hsqldb 的独立文件模式是否正确?我想知道这个锁是否是因为在独立模式下一次只能为一个进程打开数据库。 - 在 "connection pool" 上下文中使用 shutdown=true 是否正确?关闭每个连接时,它不会不断地关闭数据库吗?其他人怎么样了?
谢谢你帮助我
确实可以一次只为一个进程打开数据库。您需要一个服务器来管理来自多个进程的连接。当第二个进程尝试直接连接时,总是抛出 "Database lock acquisition failure"。
将文件模式与连接池一起使用很好,因为所有连接都来自同一进程。 运行 最好使用服务器,因为您可以在 Web 应用程序之外访问数据库。
注意 shutdown=true 是为在测试上下文中使用而提供的,不应在此处使用。需要时应发出明确的 SHUTDOWN。