Вызов метода close () TransportClient в @Bean (destroyMethod = "close") вместо finally или попытка с ресурсом - PullRequest
0 голосов
/ 28 декабря 2018

Я работаю над интеграцией Spring и Elasticsearch и для этого создаю bean-компонент TransportClient в классе конфигурации Spring (аннотирован @Configuration), который в дальнейшем добавляется в класс обслуживания, однако для закрытия bean-компонента TransportCient я делаю этоthru destroyMethod = "close", как показано ниже,

@Bean(destroyMethod = "close")
public TransportClient client() { 
   client = new PreBuiltTransportClient(elasticsearchSettings);
   ...
   ...
   return client;
}

Инстанцирование и закрытие bean-компонентов работают отлично, и таким образом, это также помогает мне не создавать экземпляры bean-компонентов несколько раз, что произошло бы, если бы мне пришлось поместить вышекод в каждом методе, который может потребоваться для подключения ES.

Может кто-нибудь, пожалуйста, скажите мне, если вышеприведенный подход будет правильным или есть какой-либо другой лучший способ сделать это.Пожалуйста, дайте мне знать, если нужны какие-либо другие детали.

Заранее спасибо ..!

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