根据h2 features page ,我在 H2 文档中看到了一些不一致之处
数据库文件锁定
[...] 实现了以下文件锁定方法:
默认方法是 FILE 并使用看门狗线程来保护数据库文件。看门狗每秒读取一次锁定文件。
第二种方法是 SOCKET 并打开一个服务器套接字。套接字方法不需要每秒读取锁定文件。只有当数据库文件只能由一台(并且总是相同的)计算机访问时,才应使用套接字方法。
第三种方法是FS。这将使用 FileChannel.lock 使用本机文件锁定。
也可以不锁定文件打开数据库;在这种情况下,由应用程序来保护数据库文件。否则将导致数据库损坏。
从上面看来,在不同计算机之间共享远程文件系统上的数据库似乎是不可能在编写时不手动关注并发性的。然而,在高级页面中,他们添加了第五个方法文件锁定序列化,它应该允许:
这种锁定模式允许打开到同一个数据库的多个连接。可以从多个进程和不同的计算机打开连接。写入数据库时,访问会在内部自动同步。
我是否正确地认为存在矛盾?还是我误解了文件锁定序列化?