The Petals Boostrap Launcher must create a dedicated URLClassloader from all Petals common dependencies as following:
Previous classloader hierarchy:
PlatformClassloader------------------
|
AppClassloader
(loaded from MANIFEST
of petals-bootstrap-launcher
with common dependencies)
|
-----------------------------------------------
| |
URLClassloader SharedLibrariesClassloader
(containing petals-default-launcher) |
| |
PetalsContainerClassloader ComponentClassloader
New classloader hierarchy:
PlatformClassloader------------------
|
AppClassloader
(empty, without extra JAR)
|
URLClassloader <---------------- The new classloader layer
(created by petals-bootstrap-launcher,
and containing all common dependencies)
|
-----------------------------------------------
| |
URLClassloader SharedLibrariesClassloader
(containing petals-default-launcher) |
| |
PetalsContainerClassloader ComponentClassloader
The Petals Boostrap Launcher must create a dedicated URLClassloader from all Petals common dependencies as following:
Previous classloader hierarchy:
PlatformClassloader------------------ | AppClassloader (loaded from MANIFEST of petals-bootstrap-launcher with common dependencies) | ----------------------------------------------- | | URLClassloader SharedLibrariesClassloader (containing petals-default-launcher) | | | PetalsContainerClassloader ComponentClassloaderNew classloader hierarchy:
PlatformClassloader------------------ | AppClassloader (empty, without extra JAR) | URLClassloader <---------------- The new classloader layer (created by petals-bootstrap-launcher, and containing all common dependencies) | ----------------------------------------------- | | URLClassloader SharedLibrariesClassloader (containing petals-default-launcher) | | | PetalsContainerClassloader ComponentClassloaderPlatformClassloader------------------ | AppClassloader (loaded from MANIFEST of petals-bootstrap-launcher with common dependencies) | ----------------------------------------------- | | URLClassloader SharedLibrariesClassloader (containing petals-default-launcher) | | | PetalsContainerClassloader ComponentClassloaderPlatformClassloader------------------ | AppClassloader (empty, without extra JAR) | URLClassloader <---------------- The new classloader layer (created by petals-bootstrap-launcher, and containing all common dependencies) | ----------------------------------------------- | | URLClassloader SharedLibrariesClassloader (containing petals-default-launcher) | | | PetalsContainerClassloader ComponentClassloader