并行使用嵌入式 Derby 数据库

Parallel use of Embedded Derby Database

我有一个由两部分组成的项目。

第一部分是 API,它回答各种请求,有时还必须检查数据库。数据库本身是一个嵌入式 Derby DB。

后来,我注意到我需要一个单独的程序来扫描目录并相应地更新数据库。我用 quartz scheduler 做了一个,它运行得很好。

当这两个一起进来玩时,问题就出现了。如果一个先启动了数据库,另一个就无法操作了。

两个程序之间的冲突缩小到一个特定的 table。 API 只是读取它,而另一个更新它。没有其他冲突。

请建议我如何解决这个问题。 请注意,这是两个独立的 Maven 项目。

我按照此处看到的指南进行操作 http://db.apache.org/derby/docs/10.10/adminguide/radminembeddedserverex.html

基本上我在 API

中添加了这些行
import org.apache.derby.drda.NetworkServerControl;
import java.net.InetAddress;

(...)
NetworkServerControl server = new NetworkServerControl
(InetAddress.getByName("localhost"),1527);
server.start(null);

并通过另一个与此连接

 String nsURL="jdbc:derby://localhost:1527/DatabaseName";  
java.util.Properties props = new java.util.Properties();