[
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)