HSQLDB:.script 文件在多个项目执行[多线程环境]并行期间自动被删除?
Posted
技术标签:
【中文标题】HSQLDB:.script 文件在多个项目执行[多线程环境]并行期间自动被删除?【英文标题】:HSQLDB : .script file is automatically getting deleted during multiple project execution[multithreaded environment] in parallel? 【发布时间】:2020-06-03 04:44:16 【问题描述】:我在多线程 Java 环境中使用 HSQLDB 基于文件的数据库版本 2.5.0,其中许多项目可以读取/写入/更新单个数据库中的 2 个表。我们观察到,在启动项目几分钟后,保存数据的 .script 文件被自动删除并且数据被删除。以下是配置,
Properties props = new Properties();
props.put("user", userName);
props.put("password", password);
props.put("jdbc.strict_md", "false");
props.put("jdbc.get_column_name", getColumnName);
props.put("shutdown", "true");
props.put("hsqldb.write_delay_millis", "0");
props.put("hsqldb.tx", "MVCC");
connection = DriverManager.getConnection("jdbc:hsqldb:file:" + instantURL + databaseName, props);
用户名、密码、instanceURL、数据库只是占位符,是从环境中的属性文件中读取的。任何人都可以建议,如果这里看起来不太好或需要对配置进行一些更改?如果需要更多信息,请随时询问?谢谢。
【问题讨论】:
【参考方案1】:进程内文件:如果项目是单独的进程,则不能在“许多项目可以读取/写入/更新单个数据库中的2个表”的情况下使用数据库。
如果项目都在同一个进程中,则允许这种形式的访问。最好避开("shutdown", "true")
您可以为场景配置和启动 HSQLDB Server:http://hsqldb.org/doc/2.0/guide/listeners-chapt.html
【讨论】:
以上是关于HSQLDB:.script 文件在多个项目执行[多线程环境]并行期间自动被删除?的主要内容,如果未能解决你的问题,请参考以下文章
HSQLDB 在检查点期间在 db.script.new 文件上抛出 Asset failed 异常和文件 io 错误