Skip to content

Commit

Permalink
转入default返回缺省扩展,常量"default"特殊处理 DUBBO-520 ExtensionLoader的getExtensio…
Browse files Browse the repository at this point in the history
…n名字转入true不应返回缺省扩展
  • Loading branch information
oldratlee committed Aug 1, 2012
1 parent 418a525 commit 8b7ccfb
Showing 1 changed file with 10 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,8 @@
*/
public class ExtensionLoader<T> {

public static String DEFAULT_EXTENSION_NAME = "default";

private static final Logger logger = LoggerFactory.getLogger(ExtensionLoader.class);

private static final String SERVICES_DIRECTORY = "META-INF/services/";
Expand Down Expand Up @@ -274,6 +276,10 @@ private boolean isActive(Activate activate, URL url) {
public T getLoadedExtension(String name) {
if (name == null || name.length() == 0)
throw new IllegalArgumentException("Extension name == null");
if(name.equals(DEFAULT_EXTENSION_NAME)) {
name = getDefaultExtensionName();
}

Holder<Object> holder = cachedInstances.get(name);
if (holder == null) {
cachedInstances.putIfAbsent(name, new Holder<Object>());
Expand Down Expand Up @@ -303,6 +309,10 @@ public Set<String> getLoadedExtensions() {
public T getExtension(String name) {
if (name == null || name.length() == 0)
throw new IllegalArgumentException("Extension name == null");
if(name.equals(DEFAULT_EXTENSION_NAME)) {
name = getDefaultExtensionName();
}

Holder<Object> holder = cachedInstances.get(name);
if (holder == null) {
cachedInstances.putIfAbsent(name, new Holder<Object>());
Expand Down

0 comments on commit 8b7ccfb

Please sign in to comment.