| 限定符和类型 | 方法和说明 |
|---|---|
void |
Cluster.setUrl(URL url) |
void |
HaStrategy.setUrl(URL url) |
| 限定符和类型 | 字段和说明 |
|---|---|
protected URL |
AbstractHaStrategy.url |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
AbstractHaStrategy.setUrl(URL url) |
| 限定符和类型 | 方法和说明 |
|---|---|
URL |
ClusterSupport.getUrl() |
URL |
ClusterSpi.getUrl() |
| 限定符和类型 | 方法和说明 |
|---|---|
protected List<URL> |
ClusterSupport.selectUrls(URL registryUrl,
List<URL> urls) |
| 限定符和类型 | 方法和说明 |
|---|---|
protected Registry |
ClusterSupport.getRegistry(URL url) |
void |
ClusterSupport.notify(URL registryUrl,
List<URL> urls)
1 notify的执行需要串行
2 notify通知都是全量通知,在设入新的referer后,cluster需要把不再使用的referer进行回收,避免资源泄漏;
3 如果该registry对应的referer数量为0,而没有其他可用的referers,那就忽略该次通知;
4 此处对protoco进行decorator处理,当前为增加filters
|
protected List<URL> |
ClusterSupport.selectUrls(URL registryUrl,
List<URL> urls) |
void |
ClusterSpi.setUrl(URL url) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
ClusterSupport.notify(URL registryUrl,
List<URL> urls)
1 notify的执行需要串行
2 notify通知都是全量通知,在设入新的referer后,cluster需要把不再使用的referer进行回收,避免资源泄漏;
3 如果该registry对应的referer数量为0,而没有其他可用的referers,那就忽略该次通知;
4 此处对protoco进行decorator处理,当前为增加filters
|
protected List<URL> |
ClusterSupport.selectUrls(URL registryUrl,
List<URL> urls) |
| 构造器和说明 |
|---|
ClusterSupport(Class<T> interfaceClass,
List<URL> registryUrls,
URL refUrl) |
| 构造器和说明 |
|---|
ClusterSupport(Class<T> interfaceClass,
List<URL> registryUrls,
URL refUrl) |
| 限定符和类型 | 字段和说明 |
|---|---|
protected URL |
MeshClientConfig.url |
| 限定符和类型 | 字段和说明 |
|---|---|
protected List<URL> |
AbstractInterfaceConfig.registryUrls |
| 限定符和类型 | 方法和说明 |
|---|---|
List<URL> |
AbstractInterfaceConfig.getRegistryUrls() |
List<URL> |
RegistryConfig.toURLs() |
| 限定符和类型 | 方法和说明 |
|---|---|
protected boolean |
ServiceConfig.serviceExists(URL url) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
AbstractInterfaceConfig.setRegistryUrls(List<URL> registryUrls) |
| 限定符和类型 | 方法和说明 |
|---|---|
<T> ClusterSupport<T> |
SimpleConfigHandler.buildClusterSupport(Class<T> interfaceClass,
List<URL> registryUrls,
URL refUrl) |
<T> ClusterSupport<T> |
ConfigHandler.buildClusterSupport(Class<T> interfaceClass,
List<URL> registryUrls,
URL refUrl) |
<T> Exporter<T> |
SimpleConfigHandler.export(Class<T> interfaceClass,
T ref,
List<URL> registryUrls,
URL serviceUrl) |
<T> Exporter<T> |
ConfigHandler.export(Class<T> interfaceClass,
T ref,
List<URL> registryUrls,
URL serviceUrl) |
protected <T> Provider<T> |
SimpleConfigHandler.getProvider(Protocol protocol,
T proxyImpl,
URL url,
Class<T> clz) |
| 限定符和类型 | 方法和说明 |
|---|---|
<T> ClusterSupport<T> |
SimpleConfigHandler.buildClusterSupport(Class<T> interfaceClass,
List<URL> registryUrls,
URL refUrl) |
<T> ClusterSupport<T> |
ConfigHandler.buildClusterSupport(Class<T> interfaceClass,
List<URL> registryUrls,
URL refUrl) |
<T> Exporter<T> |
SimpleConfigHandler.export(Class<T> interfaceClass,
T ref,
List<URL> registryUrls,
URL serviceUrl) |
<T> Exporter<T> |
ConfigHandler.export(Class<T> interfaceClass,
T ref,
List<URL> registryUrls,
URL serviceUrl) |
<T> void |
SimpleConfigHandler.unexport(List<Exporter<T>> exporters,
Collection<URL> registryUrls) |
<T> void |
ConfigHandler.unexport(List<Exporter<T>> exporters,
Collection<URL> registryUrls) |
| 构造器和说明 |
|---|
MockInfo(URL url) |
| 限定符和类型 | 方法和说明 |
|---|---|
protected abstract <T> Exporter<T> |
AbstractProtocol.createExporter(Provider<T> provider,
URL url) |
protected abstract <T> Referer<T> |
AbstractProtocol.createReferer(Class<T> clz,
URL url,
URL serviceUrl) |
<T> Exporter<T> |
AbstractProtocol.export(Provider<T> provider,
URL url) |
<T> Referer<T> |
AbstractProtocol.refer(Class<T> clz,
URL url) |
<T> Referer<T> |
AbstractProtocol.refer(Class<T> clz,
URL url,
URL serviceUrl) |
| 限定符和类型 | 方法和说明 |
|---|---|
protected <T> Exporter<T> |
InjvmProtocol.createExporter(Provider<T> provider,
URL url) |
protected <T> Referer<T> |
InjvmProtocol.createReferer(Class<T> clz,
URL url,
URL serviceUrl) |
| 限定符和类型 | 方法和说明 |
|---|---|
protected <T> Exporter<T> |
AbstractMockRpcProtocol.createExporter(Provider<T> provider,
URL url) |
protected <T> Referer<T> |
AbstractMockRpcProtocol.createReferer(Class<T> clz,
URL url,
URL serviceUrl) |
ProviderMessageRouter |
AbstractMockRpcProtocol.getMockProviderMessageRouter(URL url) |
| 限定符和类型 | 方法和说明 |
|---|---|
protected <T> Exporter<T> |
DefaultRpcProtocol.createExporter(Provider<T> provider,
URL url) |
protected <T> Referer<T> |
DefaultRpcProtocol.createReferer(Class<T> clz,
URL url,
URL serviceUrl) |
protected ProviderMessageRouter |
DefaultRpcExporter.initRequestRouter(URL url) |
| 构造器和说明 |
|---|
DefaultRpcExporter(Provider<T> provider,
URL url,
ConcurrentHashMap<String,ProviderMessageRouter> ipPort2RequestRouter,
ConcurrentHashMap<String,Exporter<?>> exporterMap) |
DefaultRpcReferer(Class<T> clz,
URL url,
URL serviceUrl) |
| 限定符和类型 | 方法和说明 |
|---|---|
<T> Referer<T> |
ProtocolFilterDecorator.decorateRefererFilter(Referer<T> referer,
URL url) |
<T> Exporter<T> |
ProtocolFilterDecorator.export(Provider<T> provider,
URL url) |
protected List<Filter> |
ProtocolFilterDecorator.getFilters(URL url,
String key)
获取方式:
1)先获取默认的filter列表;
2)根据filter配置获取新的filters,并和默认的filter列表合并;
3)如果filter配置中有'-'开头的filter name,表示disable某个filter,对应的filter不会装配
|
<T> Referer<T> |
ProtocolFilterDecorator.refer(Class<T> clz,
URL url,
URL serviceUrl) |
| 限定符和类型 | 方法和说明 |
|---|---|
protected <T> Exporter<T> |
MotanV2Protocol.createExporter(Provider<T> provider,
URL url) |
protected <T> Referer<T> |
MotanV2Protocol.createReferer(Class<T> clz,
URL url,
URL serviceUrl) |
| 限定符和类型 | 字段和说明 |
|---|---|
protected URL |
MeshClientRefererInvocationHandler.refUrl |
| 限定符和类型 | 方法和说明 |
|---|---|
protected Object |
AbstractRefererHandler.call(Caller<T> caller,
URL refUrl,
Request request,
Class<?> returnType,
boolean async) |
default <T> T |
ProxyFactory.getProxy(Class<T> clz,
URL refUrl,
MeshClient meshClient) |
| 构造器和说明 |
|---|
MeshClientRefererInvocationHandler(Class<T> clz,
URL refUrl,
MeshClient meshClient)
only for InvocationHandler
|
MeshClientRefererInvocationHandler(URL refUrl,
MeshClient meshClient)
only for CommonClient
|
| 限定符和类型 | 方法和说明 |
|---|---|
<T> T |
JdkProxyFactory.getProxy(Class<T> clz,
URL refUrl,
MeshClient meshClient) |
<T> T |
CommonProxyFactory.getProxy(Class<T> clz,
URL refUrl,
MeshClient meshClient) |
| 限定符和类型 | 方法和说明 |
|---|---|
URL |
Registry.getUrl() |
| 限定符和类型 | 方法和说明 |
|---|---|
List<URL> |
DiscoveryService.discover(URL url) |
Collection<URL> |
RegistryService.getRegisteredServiceUrls() |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
RegistryService.available(URL url)
set service status to available, so clients could use it
|
List<URL> |
DiscoveryService.discover(URL url) |
Registry |
RegistryFactory.getRegistry(URL url) |
void |
NotifyListener.notify(URL registryUrl,
List<URL> urls) |
void |
RegistryService.register(URL url)
register service to registry
|
void |
DiscoveryService.subscribe(URL url,
NotifyListener listener) |
void |
RegistryService.unavailable(URL url)
set service status to unavailable, client should not discover services of unavailable state
|
void |
RegistryService.unregister(URL url)
unregister service to registry
|
void |
DiscoveryService.unsubscribe(URL url,
NotifyListener listener) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
NotifyListener.notify(URL registryUrl,
List<URL> urls) |
| 限定符和类型 | 方法和说明 |
|---|---|
URL |
LocalRegistryService.getUrl() |
URL |
AbstractRegistry.getUrl() |
| 限定符和类型 | 方法和说明 |
|---|---|
List<URL> |
AbstractRegistry.discover(URL url) |
List<URL> |
FailbackRegistry.discover(URL url) |
List<URL> |
LocalRegistryService.doDiscover(URL url) |
protected abstract List<URL> |
AbstractRegistry.doDiscover(URL url) |
protected List<URL> |
DirectRegistry.doDiscover(URL subscribeUrl) |
Map<String,List<URL>> |
LocalRegistryService.getAllUrl()
防止数据在外部被变更,因此copy一份
|
protected List<URL> |
AbstractRegistry.getCachedUrls(URL url) |
Collection<URL> |
AbstractRegistry.getRegisteredServiceUrls() |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
AbstractRegistry.available(URL url) |
protected Registry |
DirectRegistryFactory.createRegistry(URL url) |
protected abstract Registry |
AbstractRegistryFactory.createRegistry(URL url) |
protected Registry |
LocalRegistryFactory.createRegistry(URL url) |
List<URL> |
AbstractRegistry.discover(URL url) |
List<URL> |
FailbackRegistry.discover(URL url) |
protected void |
LocalRegistryService.doAvailable(URL url) |
protected abstract void |
AbstractRegistry.doAvailable(URL url) |
protected void |
DirectRegistry.doAvailable(URL url) |
List<URL> |
LocalRegistryService.doDiscover(URL url) |
protected abstract List<URL> |
AbstractRegistry.doDiscover(URL url) |
protected List<URL> |
DirectRegistry.doDiscover(URL subscribeUrl) |
void |
LocalRegistryService.doRegister(URL url) |
protected abstract void |
AbstractRegistry.doRegister(URL url) |
protected void |
DirectRegistry.doRegister(URL url) |
void |
LocalRegistryService.doSubscribe(URL url,
NotifyListener listener) |
protected abstract void |
AbstractRegistry.doSubscribe(URL url,
NotifyListener listener) |
protected void |
DirectRegistry.doSubscribe(URL url,
NotifyListener listener) |
protected void |
LocalRegistryService.doUnavailable(URL url) |
protected abstract void |
AbstractRegistry.doUnavailable(URL url) |
protected void |
DirectRegistry.doUnavailable(URL url) |
void |
LocalRegistryService.doUnregister(URL url) |
protected abstract void |
AbstractRegistry.doUnregister(URL url) |
protected void |
DirectRegistry.doUnregister(URL url) |
void |
LocalRegistryService.doUnsubscribe(URL url,
NotifyListener listener) |
protected abstract void |
AbstractRegistry.doUnsubscribe(URL url,
NotifyListener listener) |
protected void |
DirectRegistry.doUnsubscribe(URL url,
NotifyListener listener) |
protected List<URL> |
AbstractRegistry.getCachedUrls(URL url) |
Registry |
AbstractRegistryFactory.getRegistry(URL url) |
protected String |
AbstractRegistryFactory.getRegistryUri(URL url) |
protected void |
AbstractRegistry.notify(URL refUrl,
NotifyListener listener,
List<URL> urls) |
void |
AbstractRegistry.register(URL url) |
void |
FailbackRegistry.register(URL url) |
void |
AbstractRegistry.subscribe(URL url,
NotifyListener listener) |
void |
FailbackRegistry.subscribe(URL url,
NotifyListener listener) |
void |
AbstractRegistry.unavailable(URL url) |
void |
AbstractRegistry.unregister(URL url) |
void |
FailbackRegistry.unregister(URL url) |
void |
AbstractRegistry.unsubscribe(URL url,
NotifyListener listener) |
void |
FailbackRegistry.unsubscribe(URL url,
NotifyListener listener) |
| 限定符和类型 | 方法和说明 |
|---|---|
protected void |
AbstractRegistry.notify(URL refUrl,
NotifyListener listener,
List<URL> urls) |
| 构造器和说明 |
|---|
AbstractRegistry(URL url) |
DirectRegistry(URL url) |
FailbackRegistry(URL url) |
LocalRegistryService(URL url) |
| 限定符和类型 | 方法和说明 |
|---|---|
List<URL> |
CommandFailbackRegistry.commandPreview(URL url,
RpcCommand rpcCommand,
String previewIP) |
protected abstract List<URL> |
CommandFailbackRegistry.discoverService(URL url) |
protected List<URL> |
CommandFailbackRegistry.doDiscover(URL url) |
ConcurrentHashMap<URL,CommandServiceManager> |
CommandFailbackRegistry.getCommandManagerMap() |
| 限定符和类型 | 方法和说明 |
|---|---|
List<URL> |
CommandFailbackRegistry.commandPreview(URL url,
RpcCommand rpcCommand,
String previewIP) |
protected abstract String |
CommandFailbackRegistry.discoverCommand(URL url) |
protected abstract List<URL> |
CommandFailbackRegistry.discoverService(URL url) |
protected List<URL> |
CommandFailbackRegistry.doDiscover(URL url) |
protected void |
CommandFailbackRegistry.doSubscribe(URL url,
NotifyListener listener) |
protected void |
CommandFailbackRegistry.doUnsubscribe(URL url,
NotifyListener listener) |
void |
CommandListener.notifyCommand(URL refUrl,
String commandString) |
void |
CommandServiceManager.notifyCommand(URL serviceUrl,
String commandString) |
void |
ServiceListener.notifyService(URL refUrl,
URL registryUrl,
List<URL> urls) |
void |
CommandServiceManager.notifyService(URL serviceUrl,
URL registryUrl,
List<URL> urls) |
protected abstract void |
CommandFailbackRegistry.subscribeCommand(URL url,
CommandListener listener) |
protected abstract void |
CommandFailbackRegistry.subscribeService(URL url,
ServiceListener listener) |
protected abstract void |
CommandFailbackRegistry.unsubscribeCommand(URL url,
CommandListener listener) |
protected abstract void |
CommandFailbackRegistry.unsubscribeService(URL url,
ServiceListener listener) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
ServiceListener.notifyService(URL refUrl,
URL registryUrl,
List<URL> urls) |
void |
CommandServiceManager.notifyService(URL serviceUrl,
URL registryUrl,
List<URL> urls) |
| 构造器和说明 |
|---|
CommandFailbackRegistry(URL url) |
CommandServiceManager(URL refUrl) |
| 限定符和类型 | 字段和说明 |
|---|---|
protected URL |
DefaultResponseFuture.serverUrl |
protected URL |
AbstractReferer.serviceUrl |
protected URL |
AbstractProvider.url |
protected URL |
AbstractNode.url |
| 限定符和类型 | 方法和说明 |
|---|---|
URL |
URL.createCopy() |
URL |
AbstractReferer.getServiceUrl() |
URL |
Referer.getServiceUrl()
获取referer的原始service url
|
URL |
Node.getUrl() |
URL |
AbstractProvider.getUrl() |
URL |
AbstractNode.getUrl() |
static URL |
URL.valueOf(String url) |
| 限定符和类型 | 方法和说明 |
|---|---|
static void |
ApplicationInfo.addService(URL url)
已过时。
|
static void |
RpcStats.afterCall(URL url,
Request request,
boolean success,
long procTimeMills)
call after invoke the request
|
static void |
RpcStats.beforeCall(URL url,
Request request)
call before invoke the request
|
boolean |
URL.canServe(URL refUrl)
check if this url can serve the refUrl.
|
<T> Exporter<T> |
Protocol.export(Provider<T> provider,
URL url)
暴露服务
|
static Application |
ApplicationInfo.getApplication(URL url)
已过时。
|
static RpcStats.StatInfo |
RpcStats.getMethodStat(URL url,
Request request) |
static RpcStats.StatInfo |
RpcStats.getServiceStat(URL url) |
<T> Provider<T> |
ProviderFactory.newProvider(T proxyImpl,
URL url,
Class<T> clz) |
<T> Referer<T> |
Protocol.refer(Class<T> clz,
URL url,
URL serviceUrl)
引用服务
|
| 构造器和说明 |
|---|
AbstractExporter(Provider<T> provider,
URL url) |
AbstractNode(URL url) |
AbstractProvider(URL url,
Class<T> clz) |
AbstractReferer(Class<T> clz,
URL url) |
AbstractReferer(Class<T> clz,
URL url,
URL serviceUrl) |
DefaultProvider(T proxyImpl,
URL url,
Class<T> clz) |
DefaultResponseFuture(Request requestObj,
int timeout,
URL serverUrl) |
| 限定符和类型 | 字段和说明 |
|---|---|
protected URL |
AbstractClient.url |
protected URL |
AbstractServer.url |
| 限定符和类型 | 方法和说明 |
|---|---|
URL |
DefaultMeshClient.getUrl() |
URL |
Channel.getUrl() |
URL |
MeshClient.getUrl() |
| 限定符和类型 | 方法和说明 |
|---|---|
Client |
EndpointFactory.createClient(URL url)
create remote client
|
Server |
EndpointFactory.createServer(URL url,
MessageHandler messageHandler)
create remote server
|
void |
EndpointFactory.safeReleaseResource(Client client,
URL url)
safe release client
|
void |
EndpointFactory.safeReleaseResource(Server server,
URL url)
safe release server
|
void |
AbstractServer.setUrl(URL url) |
| 构造器和说明 |
|---|
AbstractClient(URL url) |
AbstractPoolClient(URL url) |
AbstractServer(URL url) |
AbstractSharedPoolClient(URL url) |
DefaultMeshClient(URL url) |
ProviderMessageRouter(URL url) |
| 限定符和类型 | 方法和说明 |
|---|---|
Client |
AbstractEndpointFactory.createClient(URL url) |
Server |
AbstractEndpointFactory.createServer(URL url,
MessageHandler messageHandler) |
protected abstract Client |
AbstractEndpointFactory.innerCreateClient(URL url) |
protected abstract Server |
AbstractEndpointFactory.innerCreateServer(URL url,
MessageHandler messageHandler) |
void |
AbstractEndpointFactory.safeReleaseResource(Client client,
URL url) |
void |
AbstractEndpointFactory.safeReleaseResource(Server server,
URL url) |
| 限定符和类型 | 方法和说明 |
|---|---|
static List<URL> |
UrlUtils.parseURLs(String address,
Map<String,String> defaults) |
static List<URL> |
MeshProxyUtil.processMeshProxy(List<URL> originRegistryUrls,
URL serviceUrl,
boolean isServerEnd)
如果通过环境变量配置了使用Mesh进行代理,则通过把registry转换为MeshRegistry的方式实现服务的代理
|
static List<URL> |
UrlUtils.stringToURLs(String urlsStr) |
| 限定符和类型 | 方法和说明 |
|---|---|
static boolean |
MotanFrameworkUtil.checkIfCanShallClientChannel(URL source,
URL target)
判断url:source和url:target是否可以使用共享的client channel(port) 对外提供服务
1) protocol
2) codec
3) serialize
4) maxContentLength
5) maxClientConnection
6) heartbeatFactory
|
static boolean |
MotanFrameworkUtil.checkIfCanShareServiceChannel(URL source,
URL target)
判断url:source和url:target是否可以使用共享的service channel(port) 对外提供服务
1) protocol
2) codec
3) serialize
4) maxContentLength
5) maxServerConnection
6) maxWorkerThread
7) workerQueueSize
8) heartbeatFactory
9) providerProtectedStrategy
|
static String |
MotanFrameworkUtil.getProtocolKey(URL url)
protocol key: protocol://host:port/group/interface/version
|
static String |
MotanFrameworkUtil.getServiceKey(URL url)
目前根据 group/interface/version 来唯一标示一个服务
|
static List<URL> |
MeshProxyUtil.processMeshProxy(List<URL> originRegistryUrls,
URL serviceUrl,
boolean isServerEnd)
如果通过环境变量配置了使用Mesh进行代理,则通过把registry转换为MeshRegistry的方式实现服务的代理
|
| 限定符和类型 | 方法和说明 |
|---|---|
static List<URL> |
MeshProxyUtil.processMeshProxy(List<URL> originRegistryUrls,
URL serviceUrl,
boolean isServerEnd)
如果通过环境变量配置了使用Mesh进行代理,则通过把registry转换为MeshRegistry的方式实现服务的代理
|
static String |
UrlUtils.urlsToString(List<URL> urls) |
Copyright © 2023. All rights reserved.