Hi,
不建议在 TM 内部多个 Task 间共享变量,每个 Task 单独使用自己的资源,在 RichFunction open 时初始化资源,close
时释放资源。否则容易导致资源泄露
Best,
Weihua
On Tue, Jul 12, 2022 at 2:31 PM RS wrote:
> Hi,
>
>
> 如果是访问ES的话,Flink里面自带ES的connector,你可以直接使用,或者参考源码,source和sink接口都有对应的方法
>
>
>
>
Hi,
如果是访问ES的话,Flink里面自带ES的connector,你可以直接使用,或者参考源码,source和sink接口都有对应的方法
资源是否在一个线程里面,这个取决与你代码逻辑,如果在不同的线程或者进程的话,设计上,就不要用同一个EsClientHolder,各个不同阶段各自去new和close对象,
Thanks
在 2022-07-12 12:35:31,"Bruce Zu" 写道:
> Flink team好,
> 我有一个很一般的问题,关于如何释放 Flink Job 中某个对象持有的资源。
>
> 我是 Flink
Flink team好,
我有一个很一般的问题,关于如何释放 Flink Job 中某个对象持有的资源。
我是 Flink 的新用户。我搜索了很多,但没有找到相关文件。但我确信有一个标准的方法来解决它。
我的Flink 应用程序中需要访问 Elasticsearch 服务器。我们使用从
org.elasticsearch.client.RestHighLevelClient 扩展而来的类 EsClient 来完成查询工作,
一旦不再使用它就需要调用它的`close`方法来释放资源。
所以我需要找到合适的地方来确保资源总是可以被释放,即使在调用的某个地方发生了一些异常