Top Description Fields Constructors Methods
io.vertx.core.impl

pack-priv Class LoaderManager

extends Object
Class Inheritance
Imports
io.vertx.core.DeploymentOptions, java.io.Closeable, .File, .IOException, java.net.MalformedURLException, .URL, .URLClassLoader, java.util.ArrayList, .Arrays, .HashMap, .List, .Map

Supports isolated classloader for Java 8.
For Java 11 and above, the JVM uses a no-op implementation thanks to Multi-Release Jar.

Field Summary

Modifier and TypeField and Description
private final Map<String, ClassLoaderHolder>

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
private static ClassLoader
pack-priv ClassLoaderHolder
getClassLoader(DeploymentOptions options)

Important Note

- Isolation groups are not supported on Java 9+ because the application classloader is not an URLClassLoader anymore.

pack-priv void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

classLoadersback to summary
private final Map<String, ClassLoaderHolder> classLoaders

Constructor Detail

LoaderManagerback to summary
pack-priv LoaderManager()

Method Detail

buildLoaderback to summary
private static ClassLoader buildLoader(URLClassLoader parent, DeploymentOptions options)
getClassLoaderback to summary
pack-priv ClassLoaderHolder getClassLoader(DeploymentOptions options)

Important Note

- Isolation groups are not supported on Java 9+ because the application classloader is not an URLClassLoader anymore. Thus we can't extract the list of jars to configure the IsolatedClassLoader.

releaseback to summary
pack-priv void release(ClassLoaderHolder holder)