Можно ли обновлять Java-клиент Elasticsearch во время выполнения? - PullRequest
0 голосов
/ 01 февраля 2019

Я работаю с компонентом Elasticsearch RestHighLevelClient, инициализированным Spring при запуске моего приложения.Теперь я хочу дать пользователям возможность изменять соединение с Elasticsearch во время выполнения.

Интересно, существует ли какой-либо элегантный способ обновления соединения с узлами Elasticsearch из клиента Java(либо низкий уровень, либо высокий уровень).И под элегантным я имею в виду без необходимости повторно открывать клиент для каждой операции или с флагом, сообщающим, что было обновление.

Ответы [ 2 ]

0 голосов
/ 17 февраля 2019

Вы можете определить несколько клиентских компонентов ES в вашей конфигурации Spring и квалифицировать (например, @Qualifier("one")) их.Затем во время выполнения вы можете вручную найти лучший клиент, используя ApplicationContext#getBean() методы

0 голосов
/ 02 февраля 2019

Я не думаю, что Elasticsearch имел бы такую ​​возможность.

Решение, которое вы ищете, может быть Connection Pool.Как вы упомянули, вы хотите избежать повторного открытия соединения для каждой операции, Connection Pool позволяет вам сохранить несколько открытых соединений.Это общий шаблон для управления многими подключениями к базе данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...