在@Bean(destroyMethod =“ close”)中调用TransportClient的close()方法,而不是最终调用或尝试使用资源

时间:2018-12-28 10:46:39

标签: java spring spring-boot elasticsearch

我正在进行Spring和Elasticsearch集成,并为此在Spring配置类(用@Configuration注释)中创建一个TransportClient bean,该类将进一步注入到服务类中,但是为了关闭TransportCient bean,我正在这样做通过destroyMethod =“ close”,如下所示,

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

bean的实例化和关闭工作完全正常,这样还可以帮助我避免实例化bean的次数过多,如果我不得不在可能需要连接ES的每个方法中都放置上面的代码,那将发生多次。

有人可以告诉我上述方法是否正确,或者还有其他更好的方法。请让我知道是否需要其他详细信息。

在此先感谢..

0 个答案:

没有答案