Interface DependencyManager
- All Superinterfaces:
AutoCloseable
- All Known Implementing Classes:
DependencyManagerImpl
Loads and manages runtime dependencies for the plugin.
-
Method Summary
Modifier and TypeMethodDescriptionvoidclose()voidloadDependencies(Set<Dependency> dependencies) Loads dependencies.voidloadStorageDependencies(Set<StorageType> storageTypes, boolean redis, boolean rabbitmq, boolean nats) Loads storage dependencies.obtainClassLoaderWith(Set<Dependency> dependencies) Obtains an isolated classloader containing the given dependencies.
-
Method Details
-
loadDependencies
Loads dependencies.- Parameters:
dependencies- the dependencies to load
-
loadStorageDependencies
void loadStorageDependencies(Set<StorageType> storageTypes, boolean redis, boolean rabbitmq, boolean nats) Loads storage dependencies.- Parameters:
storageTypes- the storage types in useredis- if redis is being usedrabbitmq- if rabbitmq is being usednats- if nats is being used
-
obtainClassLoaderWith
Obtains an isolated classloader containing the given dependencies.- Parameters:
dependencies- the dependencies- Returns:
- the classloader
-
close
void close()- Specified by:
closein interfaceAutoCloseable
-