类 CacheData
- java.lang.Object
-
- com.alibaba.nacos.client.config.impl.CacheData
-
public class CacheData extends java.lang.ObjectListener Management.- 作者:
- Nacos
-
-
嵌套类概要
嵌套类 修饰符和类型 类 说明 private static classCacheData.ManagerListenerWrap
-
字段概要
字段 修饰符和类型 字段 说明 (专用程序包) static intCONCURRENCYprivate ConfigFilterChainManagerconfigFilterChainManagerprivate java.lang.Stringcontentjava.lang.StringdataIdprivate java.lang.StringencryptedDataKeyjava.lang.Stringgroup(专用程序包) static booleaninitSnapshot(专用程序包) static java.util.concurrent.ThreadPoolExecutorINTERNAL_NOTIFIER(专用程序包) static java.util.concurrent.ThreadFactoryinternalNotifierFactoryprivate booleanisInitializingprivate booleanisSyncWithServerif is cache data md5 sync with the server.private booleanisUseLocalConfigwhether use local config.private java.util.concurrent.atomic.AtomicLonglastModifiedTslocal cache change timestamp,for concurrent control.private java.util.concurrent.CopyOnWriteArrayList<CacheData.ManagerListenerWrap>listenersprivate longlocalConfigLastModifiedlast modify time.private static org.slf4j.LoggerLOGGERprivate java.lang.Stringmd5private java.lang.Stringnameprivate inttaskIdjava.lang.Stringtenantprivate java.lang.Stringtype
-
构造器概要
构造器 构造器 说明 CacheData(ConfigFilterChainManager configFilterChainManager, java.lang.String name, java.lang.String dataId, java.lang.String group)CacheData(ConfigFilterChainManager configFilterChainManager, java.lang.String name, java.lang.String dataId, java.lang.String group, java.lang.String tenant)
-
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 voidaddListener(com.alibaba.nacos.api.config.listener.Listener listener)Add listener if CacheData already set new content, Listener should init lastCallMd5 by CacheData.md5(专用程序包) voidcheckListenerMd5()booleancheckListenersMd5Consistent()check if all listeners md5 is equal with cache data.booleanequals(java.lang.Object obj)java.lang.StringgetContent()java.lang.StringgetEncryptedDataKey()java.util.concurrent.atomic.AtomicLonggetLastModifiedTs()Getter method for property lastModifiedTs.java.util.List<com.alibaba.nacos.api.config.listener.Listener>getListeners()Returns the iterator on the listener list, read-only.longgetLocalConfigInfoVersion()java.lang.StringgetMd5()java.lang.StringgetMd5String()intgetTaskId()java.lang.StringgetTenant()java.lang.StringgetType()inthashCode()booleanisInitializing()booleanisSyncWithServer()1.first add listener.default is false;need to check. 2.receive config change notify,set false;need to check. 3.last listener is remove,set to false;need to checkbooleanisUseLocalConfigInfo()private java.lang.StringloadCacheContentFromDiskLocal(java.lang.String name, java.lang.String dataId, java.lang.String group, java.lang.String tenant)private java.lang.StringloadEncryptedDataKeyFromDiskLocal(java.lang.String name, java.lang.String dataId, java.lang.String group, java.lang.String tenant)voidremoveListener(com.alibaba.nacos.api.config.listener.Listener listener)Remove listener.private voidsafeNotifyListener(java.lang.String dataId, java.lang.String group, java.lang.String content, java.lang.String type, java.lang.String md5, java.lang.String encryptedDataKey, CacheData.ManagerListenerWrap listenerWrap)voidsetContent(java.lang.String content)voidsetEncryptedDataKey(java.lang.String encryptedDataKey)voidsetInitializing(boolean isInitializing)voidsetLastModifiedTs(long lastModifiedTs)Setter method for property lastModifiedTs.voidsetLocalConfigInfoVersion(long localConfigLastModified)voidsetSyncWithServer(boolean syncWithServer)voidsetTaskId(int taskId)voidsetType(java.lang.String type)voidsetUseLocalConfigInfo(boolean useLocalConfigInfo)java.lang.StringtoString()
-
-
-
字段详细资料
-
LOGGER
private static final org.slf4j.Logger LOGGER
-
CONCURRENCY
static final int CONCURRENCY
- 另请参阅:
- 常量字段值
-
internalNotifierFactory
static java.util.concurrent.ThreadFactory internalNotifierFactory
-
initSnapshot
static boolean initSnapshot
-
INTERNAL_NOTIFIER
static final java.util.concurrent.ThreadPoolExecutor INTERNAL_NOTIFIER
-
name
private final java.lang.String name
-
configFilterChainManager
private final ConfigFilterChainManager configFilterChainManager
-
dataId
public final java.lang.String dataId
-
group
public final java.lang.String group
-
tenant
public final java.lang.String tenant
-
listeners
private final java.util.concurrent.CopyOnWriteArrayList<CacheData.ManagerListenerWrap> listeners
-
md5
private volatile java.lang.String md5
-
isUseLocalConfig
private volatile boolean isUseLocalConfig
whether use local config.
-
localConfigLastModified
private volatile long localConfigLastModified
last modify time.
-
content
private volatile java.lang.String content
-
encryptedDataKey
private volatile java.lang.String encryptedDataKey
-
lastModifiedTs
private volatile java.util.concurrent.atomic.AtomicLong lastModifiedTs
local cache change timestamp,for concurrent control.
-
taskId
private int taskId
-
isInitializing
private volatile boolean isInitializing
-
isSyncWithServer
private volatile boolean isSyncWithServer
if is cache data md5 sync with the server.
-
type
private java.lang.String type
-
-
构造器详细资料
-
CacheData
public CacheData(ConfigFilterChainManager configFilterChainManager, java.lang.String name, java.lang.String dataId, java.lang.String group)
-
CacheData
public CacheData(ConfigFilterChainManager configFilterChainManager, java.lang.String name, java.lang.String dataId, java.lang.String group, java.lang.String tenant)
-
-
方法详细资料
-
isInitializing
public boolean isInitializing()
-
setInitializing
public void setInitializing(boolean isInitializing)
-
getMd5
public java.lang.String getMd5()
-
getTenant
public java.lang.String getTenant()
-
getContent
public java.lang.String getContent()
-
setContent
public void setContent(java.lang.String content)
-
getLastModifiedTs
public java.util.concurrent.atomic.AtomicLong getLastModifiedTs()
Getter method for property lastModifiedTs.- 返回:
- property value of lastModifiedTs
-
setLastModifiedTs
public void setLastModifiedTs(long lastModifiedTs)
Setter method for property lastModifiedTs.- 参数:
lastModifiedTs- value to be assigned to property lastModifiedTs
-
getType
public java.lang.String getType()
-
setType
public void setType(java.lang.String type)
-
addListener
public void addListener(com.alibaba.nacos.api.config.listener.Listener listener) throws com.alibaba.nacos.api.exception.NacosExceptionAdd listener if CacheData already set new content, Listener should init lastCallMd5 by CacheData.md5- 参数:
listener- listener- 抛出:
com.alibaba.nacos.api.exception.NacosException
-
removeListener
public void removeListener(com.alibaba.nacos.api.config.listener.Listener listener)
Remove listener.- 参数:
listener- listener
-
getListeners
public java.util.List<com.alibaba.nacos.api.config.listener.Listener> getListeners()
Returns the iterator on the listener list, read-only. It is guaranteed not to return NULL.
-
getLocalConfigInfoVersion
public long getLocalConfigInfoVersion()
-
setLocalConfigInfoVersion
public void setLocalConfigInfoVersion(long localConfigLastModified)
-
isUseLocalConfigInfo
public boolean isUseLocalConfigInfo()
-
setUseLocalConfigInfo
public void setUseLocalConfigInfo(boolean useLocalConfigInfo)
-
getTaskId
public int getTaskId()
-
setTaskId
public void setTaskId(int taskId)
-
hashCode
public int hashCode()
- 覆盖:
hashCode在类中java.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- 覆盖:
equals在类中java.lang.Object
-
toString
public java.lang.String toString()
- 覆盖:
toString在类中java.lang.Object
-
checkListenerMd5
void checkListenerMd5()
-
checkListenersMd5Consistent
public boolean checkListenersMd5Consistent()
check if all listeners md5 is equal with cache data.
-
safeNotifyListener
private void safeNotifyListener(java.lang.String dataId, java.lang.String group, java.lang.String content, java.lang.String type, java.lang.String md5, java.lang.String encryptedDataKey, CacheData.ManagerListenerWrap listenerWrap)
-
getMd5String
public java.lang.String getMd5String()
-
loadCacheContentFromDiskLocal
private java.lang.String loadCacheContentFromDiskLocal(java.lang.String name, java.lang.String dataId, java.lang.String group, java.lang.String tenant)
-
isSyncWithServer
public boolean isSyncWithServer()
1.first add listener.default is false;need to check. 2.receive config change notify,set false;need to check. 3.last listener is remove,set to false;need to check- 返回:
- the flag if sync with server
-
setSyncWithServer
public void setSyncWithServer(boolean syncWithServer)
-
getEncryptedDataKey
public java.lang.String getEncryptedDataKey()
-
setEncryptedDataKey
public void setEncryptedDataKey(java.lang.String encryptedDataKey)
-
loadEncryptedDataKeyFromDiskLocal
private java.lang.String loadEncryptedDataKeyFromDiskLocal(java.lang.String name, java.lang.String dataId, java.lang.String group, java.lang.String tenant)
-
-