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 aPermanentBlobServiceand create a class loader with references to them.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceBlobLibraryCacheManager.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.ClassLoaderFactorydefaultClassLoaderFactory(org.apache.flink.util.FlinkUserCodeClassLoaders.ResolveOrder classLoaderResolveOrder, String[] alwaysParentFirstPatterns, org.apache.flink.runtime.rpc.FatalErrorHandler fatalErrorHandlerJvmMetaspaceOomError, boolean checkClassLoaderLeak)LibraryCacheManager.ClassLoaderLeaseregisterClassLoaderLease(org.apache.flink.api.common.JobID jobId)Registers a new class loader lease for the given jobId.voidshutdown()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:LibraryCacheManagerRegisters 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:
registerClassLoaderLeasein 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:LibraryCacheManagerShuts the library cache manager down. Thereby it will close all openLibraryCacheManager.ClassLoaderLeaseand release all registered user code class loaders.- Specified by:
shutdownin 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)
-
-