[
https://issues.apache.org/jira/browse/FLINK-30387?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17686335#comment-17686335
]
Gen Luo commented on FLINK-30387:
---------------------------------
As you said we can use the flink user classloader, there can be a user defined
singleton class in the user jar, which is for sure loaded by the user
classloader, and put the shared objects in this class. I suppose that is enough
for this purpose if i'm not missing anything.
> 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)