Das Mycila Plugin Framework erweitert eine Software, auf eine einfache Art und Weise, um Plugin-Funktionalitäten. Das Framework hat folgende nette Eigenschaften:
- Classloader Isolation
- Nachladen von Plugins zur Laufzeit
- Abhängigkeitsauflösung zwischen den einzelnen Plugins
- Zyklenerkennung
Die zentrale Komponente ist der PluginManager. Dieser ermöglicht Zugriffe auf einen sogenannten PluginLoader, PluginCache und PluginResolver.
Der PluginLoader kann beispielsweise einzelne Plugins heraus filtern, z.B. bei fehlerhafter Funktionsweise. Er ist aber vor allem dann interessant, wenn "Classpath Seperation/Isolation" gewünscht ist. Das heißt er kann Jars und die enthaltenen Java Klassen separat und in getrennten Classloadern laden.
Der PluginCache kümmert sich um das "Lazily Loading" von Plugins. Ist ein Plugin einmal geladen, dann kann er nachträglich wieder aus dem Cache entfernt werden.
Der PluginResolver ist wie der Name es schon sagt für die Auflösung/Zugriff auf Plugins zuständig.
Viele Grüße
Rafael
Technorati Tags: Mycila Java Plugin Classloader
