Ver código fonte

Fix for problem with file lock on Windows platform. Introduce unloadPlugins method. (#387)

Thanks for your contribution!
tags/release-3.4.0
Valeriy Kucherenko 3 anos atrás
pai
commit
58d3c8e183
Nenhuma conta vinculada ao e-mail do autor do commit

+ 11
- 0
pf4j/src/main/java/org/pf4j/AbstractPluginManager.java Ver arquivo

@@ -235,6 +235,17 @@ public abstract class AbstractPluginManager implements PluginManager {
}
}

/**
* Unload all plugins
*/
@Override
public void unloadPlugins() {
// wrap resolvedPlugins in new list because of concurrent modification
for (PluginWrapper pluginWrapper : new ArrayList<>(resolvedPlugins)) {
unloadPlugin(pluginWrapper.getPluginId());
}
}

/**
* Unload the specified plugin and it's dependents.
*/

+ 5
- 0
pf4j/src/main/java/org/pf4j/PluginManager.java Ver arquivo

@@ -100,6 +100,11 @@ public interface PluginManager {
*/
PluginState stopPlugin(String pluginId);

/**
* Unload all plugins
*/
void unloadPlugins();

/**
* Unload a plugin.
*

+ 2
- 0
pf4j/src/test/java/org/pf4j/JarPluginManagerTest.java Ver arquivo

@@ -53,6 +53,8 @@ public class JarPluginManagerTest {

@AfterEach
public void tearDown() {
pluginManager.unloadPlugins();

pluginJar = null;
pluginManager = null;
}

Carregando…
Cancelar
Salvar