}
public <T> Invoker<T> getInvoker(Remote remote, Class<T> serviceType, URL url) {
ExtensionLoader<RmiProxyFactory> extensionLoader = ExtensionLoader.getExtensionLoader(RmiProxyFactory.class);
for (String name : extensionLoader.getSupportedExtensions()) {
RmiProxyFactory rmiProxyFactory = extensionLoader.getExtension(name);
if (rmiProxyFactory.isSupported(remote, serviceType, url)) {
return rmiProxyFactory.getInvoker(remote, serviceType, url);
}
}
throw new UnsupportedOperationException("Unsupported remote stub " + remote + " by type " + extensionLoader.getSupportedExtensions() + ", service: " + serviceType.getName() + ", url" + url);
}