Browse Source

Try to create a defense for the issues similar with #97

tags/release-0.13.0
Decebal Suiu 8 years ago
parent
commit
a866af8224
1 changed files with 7 additions and 1 deletions
  1. 7
    1
      pf4j/src/main/java/ro/fortsoft/pf4j/AbstractExtensionFinder.java

+ 7
- 1
pf4j/src/main/java/ro/fortsoft/pf4j/AbstractExtensionFinder.java View File

@@ -44,6 +44,7 @@ public abstract class AbstractExtensionFinder implements ExtensionFinder, Plugin
public abstract Map<String, Set<String>> readClasspathStorages();

@Override
@SuppressWarnings("unchecked")
public <T> List<ExtensionWrapper<T>> find(Class<T> type) {
log.debug("Finding extensions for extension point '{}'", type.getName());
Map<String, Set<String>> entries = getEntries();
@@ -85,7 +86,12 @@ public abstract class AbstractExtensionFinder implements ExtensionFinder, Plugin
result.add(extensionWrapper);
log.debug("Added extension '{}' with ordinal {}", className, ordinal);
} else {
log.debug("'{}' is not an extension for extension point '{}'", className, type.getName());
log.warn("'{}' is not an extension for extension point '{}'", className, type.getName());
ClassLoader classLoader1 = type.getClassLoader();
ClassLoader classLoader2 = extensionClass.getClassLoader();
if (!classLoader1.equals(classLoader2)) {
log.warn("Different class loaders: '{}' and '{}'", classLoader1, classLoader2);
}
}
} catch (ClassNotFoundException e) {
log.error(e.getMessage(), e);

Loading…
Cancel
Save