【问题标题】:Parallel use of Embedded Derby Database并行使用嵌入式 Derby 数据库
【发布时间】:2015-10-19 02:24:08
【问题描述】:

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

第一部分是响应各种请求的 API,有时还需要检查数据库。数据库本身是一个嵌入式 Derby DB。

后来,我注意到我需要一个单独的程序来扫描目录并相应地更新数据库。我用石英调度器做了一个,效果很好。

当这两者一起玩时,问题就出现了。如果一个先启动了数据库,另一个就不能操作了。

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

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

【问题讨论】:

  • Derby DB 可能也可以在客户端/服务器模式下运行。否则,您可以使用 RMI 来传递 DB 语句。

标签: java maven database-connection derby


【解决方案1】:

我按照这里看到的指南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();

【讨论】:

  • 好答案。有关更多背景和示例,请在网络上研究“Derby Embedded Server”。
猜你喜欢
  • 2018-02-26
  • 1970-01-01
  • 1970-01-01
  • 2013-05-21
  • 1970-01-01
  • 1970-01-01
  • 2012-08-27
  • 2021-10-11
  • 1970-01-01
相关资源
最近更新 更多