public class RegistryDirectory<T> extends AbstractDirectory<T> implements NotifyListener
| 构造器和说明 |
|---|
RegistryDirectory(Class<T> serviceType,
URL url) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
buildRouterChain(URL url) |
void |
destroy()
destroy.
|
List<Invoker<T>> |
doList(Invocation invocation) |
Class<T> |
getInterface()
get service type.
|
List<Invoker<T>> |
getInvokers() |
URL |
getRegisteredConsumerUrl() |
URL |
getUrl()
get url.
|
Map<String,Invoker<T>> |
getUrlInvokerMap()
Haomin: added for test purpose
|
boolean |
isAvailable()
is available.
|
void |
notify(List<URL> urls)
Triggered when a service change notification is received.
|
void |
setProtocol(Protocol protocol) |
void |
setRegisteredConsumerUrl(URL registeredConsumerUrl) |
void |
setRegistry(Registry registry) |
void |
subscribe(URL url) |
getConsumerUrl, getRouterChain, isDestroyed, list, setConsumerUrl, setRouterChainpublic void setProtocol(Protocol protocol)
public void setRegistry(Registry registry)
public void subscribe(URL url)
public void destroy()
Nodedestroy 在接口中 Nodedestroy 在类中 AbstractDirectory<T>public void notify(List<URL> urls)
NotifyListener
Notify needs to support the contract:
1. Always notifications on the service interface and the dimension of the data type. that is, won't notify part of the same type data belonging to one service. Users do not need to compare the results of the previous notification.
2. The first notification at a subscription must be a full notification of all types of data of a service.
3. At the time of change, different types of data are allowed to be notified separately, e.g.: providers, consumers, routers, overrides. It allows only one of these types to be notified, but the data of this type must be full, not incremental.
4. If a data type is empty, need to notify a empty protocol with category parameter identification of url data.
5. The order of notifications to be guaranteed by the notifications(That is, the implementation of the registry). Such as: single thread push, queue serialization, and version comparison.
notify 在接口中 NotifyListenerurls - The list of registered information , is always not empty. The meaning is the same as the return value of RegistryService.lookup(URL).public List<Invoker<T>> doList(Invocation invocation)
public Class<T> getInterface()
DirectorygetInterface 在接口中 Directory<T>public URL getUrl()
NodegetUrl 在接口中 NodegetUrl 在类中 AbstractDirectory<T>public URL getRegisteredConsumerUrl()
public void setRegisteredConsumerUrl(URL registeredConsumerUrl)
public boolean isAvailable()
NodeisAvailable 在接口中 Nodepublic void buildRouterChain(URL url)
Copyright © 2011–2019 The Apache Software Foundation. All rights reserved.