类 CacheData


  • public class CacheData
    extends java.lang.Object
    Listener Management.
    作者:
    Nacos
    • 字段详细资料

      • LOGGER

        private static final org.slf4j.Logger LOGGER
      • 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
      • dataId

        public final java.lang.String dataId
      • group

        public final java.lang.String group
      • tenant

        public final java.lang.String tenant
      • 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.NacosException
        Add 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)