Class BlobLibraryCacheManager
- java.lang.Object
-
- org.apache.flink.runtime.execution.librarycache.BlobLibraryCacheManager
-
- All Implemented Interfaces:
LibraryCacheManager
@ThreadSafe public class BlobLibraryCacheManager extends Object implements LibraryCacheManager
Provides facilities to download a set of libraries (typically JAR files) for a job from aPermanentBlobService
and create a class loader with references to them.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
BlobLibraryCacheManager.ClassLoaderFactory
-
Nested classes/interfaces inherited from interface org.apache.flink.runtime.execution.librarycache.LibraryCacheManager
LibraryCacheManager.ClassLoaderHandle, LibraryCacheManager.ClassLoaderLease
-
-
Constructor Summary
Constructors Constructor Description BlobLibraryCacheManager(PermanentBlobService blobService, BlobLibraryCacheManager.ClassLoaderFactory classLoaderFactory, boolean wrapsSystemClassLoader)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static BlobLibraryCacheManager.ClassLoaderFactory
defaultClassLoaderFactory(org.apache.flink.util.FlinkUserCodeClassLoaders.ResolveOrder classLoaderResolveOrder, String[] alwaysParentFirstPatterns, org.apache.flink.runtime.rpc.FatalErrorHandler fatalErrorHandlerJvmMetaspaceOomError, boolean checkClassLoaderLeak)
LibraryCacheManager.ClassLoaderLease
registerClassLoaderLease(org.apache.flink.api.common.JobID jobId)
Registers a new class loader lease for the given jobId.void
shutdown()
Shuts the library cache manager down.
-
-
-
Constructor Detail
-
BlobLibraryCacheManager
public BlobLibraryCacheManager(PermanentBlobService blobService, BlobLibraryCacheManager.ClassLoaderFactory classLoaderFactory, boolean wrapsSystemClassLoader)
-
-
Method Detail
-
registerClassLoaderLease
public LibraryCacheManager.ClassLoaderLease registerClassLoaderLease(org.apache.flink.api.common.JobID jobId)
Description copied from interface:LibraryCacheManager
Registers a new class loader lease for the given jobId. The user code class loader for this job will be valid as long as there exists a valid lease for this job.- Specified by:
registerClassLoaderLease
in interfaceLibraryCacheManager
- Parameters:
jobId
- jobId for which to register a new class loader lease- Returns:
- a new class loader lease for the given job
-
shutdown
public void shutdown()
Description copied from interface:LibraryCacheManager
Shuts the library cache manager down. Thereby it will close all openLibraryCacheManager.ClassLoaderLease
and release all registered user code class loaders.- Specified by:
shutdown
in interfaceLibraryCacheManager
-
defaultClassLoaderFactory
public static BlobLibraryCacheManager.ClassLoaderFactory defaultClassLoaderFactory(org.apache.flink.util.FlinkUserCodeClassLoaders.ResolveOrder classLoaderResolveOrder, String[] alwaysParentFirstPatterns, @Nullable org.apache.flink.runtime.rpc.FatalErrorHandler fatalErrorHandlerJvmMetaspaceOomError, boolean checkClassLoaderLeak)
-
-