@Extension(value="all") public class AllConnectConnectionHolder extends ConnectionHolder
Destroyable.DestroyHook| 限定符和类型 | 字段和说明 |
|---|---|
protected ConsumerConfig |
consumerConfig
服务消费者配置
|
consumerBootstrap| 限定符 | 构造器和说明 |
|---|---|
protected |
AllConnectConnectionHolder(ConsumerBootstrap consumerBootstrap)
构造函数
|
| 限定符和类型 | 方法和说明 |
|---|---|
protected void |
addAlive(ProviderInfo providerInfo,
ClientTransport transport)
Add alive.
|
protected void |
addNode(List<ProviderInfo> providerInfoList) |
void |
addProvider(ProviderGroup providerGroup)
增加某标签的服务端列表 (增量)
|
protected void |
addRetry(ProviderInfo providerInfo,
ClientTransport transport)
Add retry.
|
protected void |
aliveToRetry(ProviderInfo providerInfo,
ClientTransport transport)
从存活丢到重试列表
|
protected void |
aliveToSubHealth(ProviderInfo providerInfo,
ClientTransport transport)
从存活丢到亚健康列表
|
protected boolean |
checkState(ProviderInfo providerInfo,
ClientTransport clientTransport)
检查状态是否可用
|
protected Map<ProviderInfo,ClientTransport> |
clearProviders()
清空服务列表
|
void |
closeAllClientTransports(Destroyable.DestroyHook destroyHook)
销毁全部连接
|
Set<ProviderInfo> |
currentProviderList()
获取当前的Provider列表(包括连上和没连上的)
|
Map<String,Set<ProviderInfo>> |
currentProviderMap()
获取当前的Provider列表(包括连上和没连上的)
|
void |
destroy()
销毁接口
|
void |
destroy(Destroyable.DestroyHook destroyHook)
Do destroy with hook.
|
protected boolean |
doubleCheck(String interfaceId,
ProviderInfo providerInfo,
ClientTransport transport)
两次验证检查ClientTransport是否存活
|
ClientTransport |
getAvailableClientTransport(ProviderInfo providerInfo)
根据provider查找存活的ClientTransport
|
ConcurrentHashMap<ProviderInfo,ClientTransport> |
getAvailableConnections()
存活的连接
|
List<ProviderInfo> |
getAvailableProviders()
存活的全部provider
|
ConcurrentHashMap<ProviderInfo,ClientTransport> |
getRetryConnections()
Gets retry connections.
|
void |
init()
初始化
|
boolean |
isAvailableEmpty()
是否没有存活的的provider
|
void |
notifyStateChangeToAvailable()
通知状态变成可用,主要是:
1.启动成功变成可用时 2.注册中心增加,更新节点后变成可用时 3.重连上从一个可用节点都没有变成有可用节点时 |
void |
notifyStateChangeToUnavailable()
通知状态变成不可用,主要是:
1.注册中心删除,更新节点后变成不可用时 2.连接断线后(心跳+调用),如果是可用节点为空 |
protected void |
printDead(String interfaceId,
ProviderInfo providerInfo,
ClientTransport transport,
Exception e)
打印连不上日志
|
protected void |
printFailure(String interfaceId,
ProviderInfo providerInfo,
ClientTransport transport)
打印连接失败日志
|
protected void |
printSuccess(String interfaceId,
ProviderInfo providerInfo,
ClientTransport transport)
打印连接成功日志
|
protected ClientTransportConfig |
providerToClientConfig(ProviderInfo providerInfo)
Provider对象得到 ClientTransportConfig
|
protected ClientTransport |
remove(ProviderInfo providerInfo)
删除provider
|
void |
removeNode(List<ProviderInfo> providerInfos) |
void |
removeProvider(ProviderGroup providerGroup)
删除某标签的服务端列表(增量)
|
protected void |
retryToAlive(ProviderInfo providerInfo,
ClientTransport transport)
从重试丢到存活列表
|
void |
setUnavailable(ProviderInfo providerInfo,
ClientTransport transport)
设置为不可用
|
protected void |
shutdownReconnectThread()
关闭线程
|
protected void |
startReconnectThread()
启动重连+心跳线程
|
protected void |
subHealthToAlive(ProviderInfo providerInfo,
ClientTransport transport)
从亚健康丢到存活列表
|
protected void |
subHealthToRetry(ProviderInfo providerInfo,
ClientTransport transport)
从存活丢到亚健康列表
|
void |
updateAllProviders(List<ProviderGroup> providerGroups)
更新全部服务端列表(全量)
|
void |
updateProviders(ProviderGroup providerGroup)
更新某标签的服务端列表(全量)
|
protected ConsumerConfig consumerConfig
protected AllConnectConnectionHolder(ConsumerBootstrap consumerBootstrap)
consumerBootstrap - 服务消费者配置public ConcurrentHashMap<ProviderInfo,ClientTransport> getRetryConnections()
protected void addAlive(ProviderInfo providerInfo, ClientTransport transport)
providerInfo - the providertransport - the transportprotected void addRetry(ProviderInfo providerInfo, ClientTransport transport)
providerInfo - the providertransport - the transportprotected void aliveToRetry(ProviderInfo providerInfo, ClientTransport transport)
providerInfo - Providertransport - 连接protected void retryToAlive(ProviderInfo providerInfo, ClientTransport transport)
providerInfo - Providertransport - 连接protected boolean checkState(ProviderInfo providerInfo, ClientTransport clientTransport)
providerInfo - 服务提供者信息clientTransport - 客户端长连接protected void aliveToSubHealth(ProviderInfo providerInfo, ClientTransport transport)
providerInfo - Providertransport - 连接protected void subHealthToAlive(ProviderInfo providerInfo, ClientTransport transport)
providerInfo - Providertransport - 连接protected void subHealthToRetry(ProviderInfo providerInfo, ClientTransport transport)
providerInfo - Providertransport - 连接protected ClientTransport remove(ProviderInfo providerInfo)
providerInfo - the providerpublic void notifyStateChangeToUnavailable()
public void notifyStateChangeToAvailable()
public void init()
Initializablepublic void addProvider(ProviderGroup providerGroup)
ProviderInfoListenerproviderGroup - 服务端列表组public void removeProvider(ProviderGroup providerGroup)
ProviderInfoListenerproviderGroup - 服务端列表组public void updateProviders(ProviderGroup providerGroup)
ProviderInfoListenerproviderGroup - 服务端列表组public void updateAllProviders(List<ProviderGroup> providerGroups)
ProviderInfoListenerproviderGroups - 全部服务端列表,为空代表清空已有列表protected void addNode(List<ProviderInfo> providerInfoList)
public void removeNode(List<ProviderInfo> providerInfos)
public ConcurrentHashMap<ProviderInfo,ClientTransport> getAvailableConnections()
ConnectionHoldergetAvailableConnections 在类中 ConnectionHolderpublic List<ProviderInfo> getAvailableProviders()
ConnectionHoldergetAvailableProviders 在类中 ConnectionHolderpublic ClientTransport getAvailableClientTransport(ProviderInfo providerInfo)
ConnectionHoldergetAvailableClientTransport 在类中 ConnectionHolderproviderInfo - the providerpublic boolean isAvailableEmpty()
ConnectionHolderisAvailableEmpty 在类中 ConnectionHolderprotected ClientTransportConfig providerToClientConfig(ProviderInfo providerInfo)
providerInfo - Providerpublic Set<ProviderInfo> currentProviderList()
currentProviderList 在类中 ConnectionHolderpublic void setUnavailable(ProviderInfo providerInfo, ClientTransport transport)
ConnectionHoldersetUnavailable 在类中 ConnectionHolderproviderInfo - Providertransport - 连接public void destroy()
Destroyablepublic void destroy(Destroyable.DestroyHook destroyHook)
DestroyabledestroyHook - DestroyHookprotected Map<ProviderInfo,ClientTransport> clearProviders()
public void closeAllClientTransports(Destroyable.DestroyHook destroyHook)
closeAllClientTransports 在类中 ConnectionHolderdestroyHook - 销毁钩子protected void printSuccess(String interfaceId, ProviderInfo providerInfo, ClientTransport transport)
interfaceId - 接口名称providerInfo - 服务端transport - 连接protected void printFailure(String interfaceId, ProviderInfo providerInfo, ClientTransport transport)
interfaceId - 接口名称providerInfo - 服务端transport - 连接protected void printDead(String interfaceId, ProviderInfo providerInfo, ClientTransport transport, Exception e)
interfaceId - 接口名称providerInfo - 服务端transport - 连接e - 错误public Map<String,Set<ProviderInfo>> currentProviderMap()
protected boolean doubleCheck(String interfaceId, ProviderInfo providerInfo, ClientTransport transport)
interfaceId - 接口transport - ClientTransport对象protected void startReconnectThread()
protected void shutdownReconnectThread()
Copyright © 2008–2018 The Ant Financial. All rights reserved.