@NoImplement
public interface ArtifactClassLoaderResolver
static ArtifactClassLoaderResolver defaultClassLoaderResolver()
static ArtifactClassLoaderResolver classLoaderResolver(ModuleRepository moduleRepository, Function<String,File> tempFolderChildFunction)
MuleDeployableArtifactClassLoader createDomainClassLoader(DomainDescriptor descriptor)
descriptor - the descriptor of the domain to generate a class loader for.MuleDeployableArtifactClassLoader createDomainClassLoader(DomainDescriptor descriptor, PluginClassLoaderResolver pluginClassLoaderResolver)
descriptor - the descriptor of the domain to generate a class loader for.pluginClassLoaderResolver - allows the user to provide a class loader for the given plugin, otherwise it will be
created.MuleDeployableArtifactClassLoader createApplicationClassLoader(ApplicationDescriptor descriptor)
descriptor - the descriptor of the application to generate a class loader for.MuleDeployableArtifactClassLoader createApplicationClassLoader(ApplicationDescriptor descriptor, PluginClassLoaderResolver pluginClassLoaderResolver)
descriptor - the descriptor of the application to generate a class loader for.pluginClassLoaderResolver - allows the user to provide a class loader for the given plugin, otherwise it will be
created.MuleDeployableArtifactClassLoader createApplicationClassLoader(ApplicationDescriptor descriptor, Supplier<ArtifactClassLoader> domainClassLoader)
descriptor - the descriptor of the application to generate a class loader for.domainClassLoader - the class loader of the domain the application belongs to.MuleDeployableArtifactClassLoader createApplicationClassLoader(ApplicationDescriptor descriptor, Supplier<ArtifactClassLoader> domainClassLoader, PluginClassLoaderResolver pluginClassLoaderResolver)
descriptor - the descriptor of the application to generate a class loader for.domainClassLoader - the class loader of the domain the application belongs to.pluginClassLoaderResolver - allows the user to provide a class loader for the given plugin, otherwise it will be
created.MuleArtifactClassLoader createMulePluginClassLoader(MuleDeployableArtifactClassLoader ownerArtifactClassLoader, ArtifactPluginDescriptor descriptor, PluginDescriptorResolver pluginDescriptorResolver)
The class loader for a plugin is based on the class loader of its owner artifact for some scenarios regarding exported packages/resources. For that reason, a class loader for a plugin in one application may be different from the same plugin in another application.
ownerArtifactClassLoader - the class loader for the artifact that has the plugin dependency for the target class loader.descriptor - the descriptor of the plugin to generate a class loader for.pluginDescriptorResolver - a wrapper function around the logic to extract an ArtifactPluginDescriptor from the
jar described by the BundleDescriptor. The function must return
Optional.empty() if the plugin represented by the BundleDescriptor is not a
dependency of the artifact for ownerArtifactClassLoader.MuleArtifactClassLoader createMulePluginClassLoader(MuleDeployableArtifactClassLoader ownerArtifactClassLoader, ArtifactPluginDescriptor descriptor, PluginDescriptorResolver pluginDescriptorResolver, PluginClassLoaderResolver pluginClassLoaderResolver)
The class loader for a plugin is based on the class loader of its owner artifact for some scenarios regarding exported packages/resources. For that reason, a class loader for a plugin in one application may be different from the same plugin in another application.
ownerArtifactClassLoader - the class loader for the artifact that has the plugin dependency for the target class
loader.descriptor - the descriptor of the plugin to generate a class loader for.pluginDescriptorResolver - a wrapper function around the logic to extract an ArtifactPluginDescriptor from the
jar described by the BundleDescriptor. The function must return
Optional.empty() if the plugin represented by the BundleDescriptor is not a
dependency of the artifact for ownerArtifactClassLoader.pluginClassLoaderResolver - allows the user to provide a class loader for the given dependency plugin, otherwise it will
be obtained from the owner artifact class loaders.Copyright © 2003–2022 MuleSoft, Inc.. All rights reserved.