【发布时间】:2017-06-15 21:24:46
【问题描述】:
我们正在开发一个使用 Hibernate/JPA 访问数据库的 JavaFX 解决方案。我们使用 Hibernate Search 和 Lucene 来搜索实体,只要只有一个程序实例在运行,它就可以很好地工作。如果启动第二个实例,搜索仍然有效,但更新实体失败,因为第一个启动的应用程序保留了索引上的写锁。我们没有使用任何类型的 JavaEE 应用服务器,JavaFX 客户端直接通过 Hibernate 访问数据库。
在最终的生产环境中,将有一个 MS-SQL 服务器保存所有数据,以及多个富客户端在虚拟机中的服务器上运行或通过 VPN 访问数据库服务器。我想让所有客户端都可以添加和编辑实体并立即获取索引更新。我已经尝试使用 Infinispan 找到解决方案,但并没有真正掌握从哪里开始以及具体做什么。
谁能告诉我如何实现这一点?是否可以将索引直接保存在数据库中或启动某种服务,客户端可以访问当前索引?
【问题讨论】:
标签: hibernate jpa lucene hibernate-search infinispan