类 AbstractClient
- java.lang.Object
-
- com.alibaba.nacos.naming.core.v2.client.AbstractClient
-
- 所有已实现的接口:
Client
- 直接已知子类:
ConnectionBasedClient,IpPortBasedClient
public abstract class AbstractClient extends java.lang.Object implements Client
Abstract implementation ofClient.- 作者:
- xiweng.yy
-
-
字段概要
字段 修饰符和类型 字段 说明 protected ClientAttributesattributesprotected longlastUpdatedTimeprotected java.util.concurrent.ConcurrentHashMap<Service,InstancePublishInfo>publishersprotected java.util.concurrent.atomic.AtomicLongrevisionprotected java.util.concurrent.ConcurrentHashMap<Service,Subscriber>subscribers
-
构造器概要
构造器 构造器 说明 AbstractClient(java.lang.Long revision)
-
方法概要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 说明 booleanaddServiceInstance(Service service, InstancePublishInfo instancePublishInfo)Add a new instance for service for current client.booleanaddServiceSubscriber(Service service, Subscriber subscriber)Add a new subscriber for target service.private static BatchInstanceDatabuildBatchInstanceData(BatchInstanceData batchInstanceData, java.util.List<java.lang.String> batchNamespaces, java.util.List<java.lang.String> batchGroupNames, java.util.List<java.lang.String> batchServiceNames, java.util.Map.Entry<Service,InstancePublishInfo> entry)ClientSyncDatagenerateSyncData()Generate sync data.java.util.Collection<Service>getAllPublishedService()Get all published service of current client.java.util.Collection<Service>getAllSubscribeService()Get all subscribe service of current client.ClientAttributesgetClientAttributes()get client attributes.InstancePublishInfogetInstancePublishInfo(Service service)Get instance info of service from client.longgetLastUpdatedTime()Get the last time for updating current client.longgetRevision()Get client revision.SubscribergetSubscriber(Service service)Get subscriber of service from client.longrecalculateRevision()Recalculate client revision and get its value.voidrelease()Release current client and release resources if neccessary.InstancePublishInforemoveServiceInstance(Service service)Remove service instance from client.booleanremoveServiceSubscriber(Service service)Remove subscriber for service.voidsetAttributes(ClientAttributes attributes)voidsetLastUpdatedTime()Set the last time for updating current client as current time.voidsetRevision(long revision)Set client revision.-
从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
从接口继承的方法 com.alibaba.nacos.naming.core.v2.client.Client
getClientId, isEphemeral, isExpire
-
-
-
-
字段详细资料
-
publishers
protected final java.util.concurrent.ConcurrentHashMap<Service,InstancePublishInfo> publishers
-
subscribers
protected final java.util.concurrent.ConcurrentHashMap<Service,Subscriber> subscribers
-
lastUpdatedTime
protected volatile long lastUpdatedTime
-
revision
protected final java.util.concurrent.atomic.AtomicLong revision
-
attributes
protected ClientAttributes attributes
-
-
方法详细资料
-
setLastUpdatedTime
public void setLastUpdatedTime()
从接口复制的说明:ClientSet the last time for updating current client as current time.- 指定者:
setLastUpdatedTime在接口中Client
-
getLastUpdatedTime
public long getLastUpdatedTime()
从接口复制的说明:ClientGet the last time for updating current client.- 指定者:
getLastUpdatedTime在接口中Client- 返回:
- last time for updating
-
addServiceInstance
public boolean addServiceInstance(Service service, InstancePublishInfo instancePublishInfo)
从接口复制的说明:ClientAdd a new instance for service for current client.- 指定者:
addServiceInstance在接口中Client- 参数:
service- publish serviceinstancePublishInfo- instance- 返回:
- true if add successfully, otherwise false
-
removeServiceInstance
public InstancePublishInfo removeServiceInstance(Service service)
从接口复制的说明:ClientRemove service instance from client.- 指定者:
removeServiceInstance在接口中Client- 参数:
service- service of instance- 返回:
- instance info if exist, otherwise
null
-
getInstancePublishInfo
public InstancePublishInfo getInstancePublishInfo(Service service)
从接口复制的说明:ClientGet instance info of service from client.- 指定者:
getInstancePublishInfo在接口中Client- 参数:
service- service of instance- 返回:
- instance info
-
getAllPublishedService
public java.util.Collection<Service> getAllPublishedService()
从接口复制的说明:ClientGet all published service of current client.- 指定者:
getAllPublishedService在接口中Client- 返回:
- published services
-
addServiceSubscriber
public boolean addServiceSubscriber(Service service, Subscriber subscriber)
从接口复制的说明:ClientAdd a new subscriber for target service.- 指定者:
addServiceSubscriber在接口中Client- 参数:
service- subscribe servicesubscriber- subscriber- 返回:
- true if add successfully, otherwise false
-
removeServiceSubscriber
public boolean removeServiceSubscriber(Service service)
从接口复制的说明:ClientRemove subscriber for service.- 指定者:
removeServiceSubscriber在接口中Client- 参数:
service- service of subscriber- 返回:
- true if remove successfully, otherwise false
-
getSubscriber
public Subscriber getSubscriber(Service service)
从接口复制的说明:ClientGet subscriber of service from client.- 指定者:
getSubscriber在接口中Client- 参数:
service- service of subscriber- 返回:
- subscriber
-
getAllSubscribeService
public java.util.Collection<Service> getAllSubscribeService()
从接口复制的说明:ClientGet all subscribe service of current client.- 指定者:
getAllSubscribeService在接口中Client- 返回:
- subscribe services
-
generateSyncData
public ClientSyncData generateSyncData()
从接口复制的说明:ClientGenerate sync data.- 指定者:
generateSyncData在接口中Client- 返回:
- sync data
-
buildBatchInstanceData
private static BatchInstanceData buildBatchInstanceData(BatchInstanceData batchInstanceData, java.util.List<java.lang.String> batchNamespaces, java.util.List<java.lang.String> batchGroupNames, java.util.List<java.lang.String> batchServiceNames, java.util.Map.Entry<Service,InstancePublishInfo> entry)
-
release
public void release()
从接口复制的说明:ClientRelease current client and release resources if neccessary.
-
recalculateRevision
public long recalculateRevision()
从接口复制的说明:ClientRecalculate client revision and get its value.- 指定者:
recalculateRevision在接口中Client- 返回:
- recalculated revision value
-
getRevision
public long getRevision()
从接口复制的说明:ClientGet client revision.- 指定者:
getRevision在接口中Client- 返回:
- current revision without recalculation
-
setRevision
public void setRevision(long revision)
从接口复制的说明:ClientSet client revision.- 指定者:
setRevision在接口中Client- 参数:
revision- revision of this client to update
-
getClientAttributes
public ClientAttributes getClientAttributes()
get client attributes.
-
setAttributes
public void setAttributes(ClientAttributes attributes)
-
-