我有一个由两部分组成的项目。
第一部分是一个 API,用于响应各种请求,有时需要检查数据库。数据库本身是一个嵌入式 Derby DB。
后来,我注意到我需要一个单独的程序来扫描目录并相应地更新数据库。我使用 quartz 调度程序制作了一个,它运行得很好。
当两者一起发挥作用时,问题就出现了。如果其中一个先启动了数据库,则另一个无法操作。
两个程序之间的冲突已缩小到一个特定的表。 API 只是读取它,而另一个 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();
关于java - 并行使用嵌入式 Derby 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31677851/