我有一个 Apache Derby 数据库在 java swing 应用程序中运行(以网络模式),我通过 java 客户端应用程序通过直接 JDBC 调用连接到它。
这一切都很好,而且效果很好,但是我知道为这个客户端/服务器应用程序实现并发许可证还有一个额外的要求。
理想情况下,具有单用户许可证的用户应该能够在笔记本电脑上运行 1 个客户端应用程序,并在台式机上运行第二个客户端应用程序,并且能够从两者连接到服务器。
我没有网络服务器的奢侈,所以我想知道我唯一的选择是否是在 Derby 中使用“maxthreads”运行时属性,并从本质上强制用户必须注销笔记本电脑,说他们是否想然后使用从他们的桌面应用程序。
如果我将时间片属性保留为 0,那么将调用 getConnection 超时,以便我可以向用户显示一条消息,说明他们需要断开其中一个客户端应用程序的连接。
连接线程是一种可靠的方法吗?
我错过了另一个解决方案吗?