[ 
https://issues.apache.org/jira/browse/FLINK-30387?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17646206#comment-17646206
 ] 

Chesnay Schepler commented on FLINK-30387:
------------------------------------------

You can already do this via static fields and the classloader hook. AFAICT 
there's nothing else needed from the Flink side.

> support job singleton within TM
> -------------------------------
>
>                 Key: FLINK-30387
>                 URL: https://issues.apache.org/jira/browse/FLINK-30387
>             Project: Flink
>          Issue Type: New Feature
>          Components: API / Core
>            Reporter: James Z.M. Gao
>            Priority: Major
>
> For better managing some shared objects between slots of the same job, such 
> as thread pool, db connections, cache data, etc., we need the ability to 
> create these objects once for each job at the beginning, then to release the 
> bounded resource when the job finished some how with correct order. A simple 
> static filed cannot always archive this when the class is loaded by the TM 
> classloader.
> To implement this job level singleton, we can use the flink user classloader. 
> Since each flink job has its own context class loader, we could add some 
> methods to operate the user CL to create a user specify AutoCloseable object 
> only once for each job and close it at last in release hook of the user CL.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to