H2 Database multiple connections

后端 未结 2 1365
不思量自难忘°
不思量自难忘° 2020-12-17 16:31

I have the following issue: Two instances of an application on two different systems should share a small database. The main problem is that both systems can only exchange d

相关标签:
2条回答
  • 2020-12-17 16:53

    From H2 documentation:

    It is also possible to open the database without file locking; in this case it is up to the application to protect the database files. Failing to do so will result in a corrupted database.

    I think that if your application use always the same configuration (shared file database on network folder), you need to create an application layer that manages concurrency

    0 讨论(0)
  • 2020-12-17 16:59

    I had the same issue and I've found the solution in the documentation. It can be found at; http://h2database.com/html/features.html#auto_mixed_mode

    Multiple processes can access the same database without having to start the server manually. To do that, append ;AUTO_SERVER=TRUE to the database URL. You can use the same database URL independent of whether the database is already open or not. This feature doesn't work with in-memory databases.

    // Application 1:
    DriverManager.getConnection("jdbc:h2:/data/test;AUTO_SERVER=TRUE");
    
    // Application 2:
    DriverManager.getConnection("jdbc:h2:/data/test;AUTO_SERVER=TRUE");
    
    0 讨论(0)
提交回复
热议问题