From 7ae4ccd2637af8f1d89a76b2bdddd1960315618c Mon Sep 17 00:00:00 2001 From: Decebal Suiu Date: Fri, 5 Sep 2014 15:12:41 +0300 Subject: [PATCH] specify that PluginClassLoader is a Parent Last ClassLoader - it loads the classes from the plugin's jars before delegating to the parent class loader --- README.md | 3 ++- pf4j/src/main/java/ro/fortsoft/pf4j/PluginClassLoader.java | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b1a8835..b0cfe49 100644 --- a/README.md +++ b/README.md @@ -71,7 +71,8 @@ It's very simple to add pf4j in your application: In above code, I created a **DefaultPluginManager** (it's the default implementation for **PluginManager** interface) that loads and starts all active(resolved) plugins. Each available plugin is loaded using a different java class loader, **PluginClassLoader**. -The **PluginClassLoader** contains only classes found in **PluginClasspath** (default _classes_ and _lib_ folders) of plugin and runtime classes and libraries of the required/dependent plugins. +The **PluginClassLoader** contains only classes found in **PluginClasspath** (default _classes_ and _lib_ folders) of plugin and runtime classes and libraries of the required/dependent plugins. +This class loader is a Parent Last ClassLoader - it loads the classes from the plugin's jars before delegating to the parent class loader. The plugins are stored in a folder. You can specify the plugins folder in the constructor of DefaultPluginManager. If the plugins folder is not specified than the location is returned by `System.getProperty("pf4j.pluginsDir", "plugins")`. diff --git a/pf4j/src/main/java/ro/fortsoft/pf4j/PluginClassLoader.java b/pf4j/src/main/java/ro/fortsoft/pf4j/PluginClassLoader.java index 8167565..efa759c 100644 --- a/pf4j/src/main/java/ro/fortsoft/pf4j/PluginClassLoader.java +++ b/pf4j/src/main/java/ro/fortsoft/pf4j/PluginClassLoader.java @@ -22,6 +22,8 @@ import java.util.List; /** * One instance of this class should be created by plugin manager for every available plug-in. + * This class loader is a Parent Last ClassLoader - it loads the classes from the plugin's jars before delegating + * to the parent class loader. * * @author Decebal Suiu */ -- 2.39.5