我有Elasticsearch RestHighLevelClient
豆由Spring时,我的应用程序启动初始化工作。现在我想给用户更改在运行时Elasticsearch连接的能力。
我不知道是否有任何的优雅的方式来更新从Java客户端Elasticsearch节点的连接(或者是低级别或高级别)。而且,优雅我的意思是不必为每个操作都重新打开客户端,也不需要带有标志来通知有更新。
答案 0 :(得分:0)
我认为Elasticsearch不会有这种可能性。
您正在寻找的解决方案可能是Connection Pool
。如前所述,您希望避免为每个操作重新打开连接,Connection Pool
允许您保留一些打开的连接。这是管理许多数据库连接的常用模式。
答案 1 :(得分:0)
您可以在Spring配置中定义几个ES客户端Bean,并限定(例如@Qualifier("one")
)它们。然后,在运行时,您可以使用ApplicationContext#getBean()
方法手动查找最佳客户端