Re: 请教:关于如何释放 Flink Job 中某个对象持有的资源

2022-07-12 文章 Weihua Hu
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接口都有对应的方法 > > > >

Re:请教:关于如何释放 Flink Job 中某个对象持有的资源

2022-07-12 文章 RS
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 Job 中某个对象持有的资源

2022-07-11 文章 Bruce Zu
Flink team好, 我有一个很一般的问题,关于如何释放 Flink Job 中某个对象持有的资源。 我是 Flink 的新用户。我搜索了很多,但没有找到相关文件。但我确信有一个标准的方法来解决它。 我的Flink 应用程序中需要访问 Elasticsearch 服务器。我们使用从 org.elasticsearch.client.RestHighLevelClient 扩展而来的类 EsClient 来完成查询工作, 一旦不再使用它就需要调用它的`close`方法来释放资源。 所以我需要找到合适的地方来确保资源总是可以被释放,即使在调用的某个地方发生了一些异常