类 NamingMetadataManager


  • @Component
    public class NamingMetadataManager
    extends com.alibaba.nacos.common.notify.listener.SmartSubscriber
    Nacos naming metadata manager.
    作者:
    xiweng.yy
    • 字段详细资料

      • serviceMetadataMap

        private java.util.concurrent.ConcurrentMap<Service,​ServiceMetadata> serviceMetadataMap
      • instanceMetadataMap

        private java.util.concurrent.ConcurrentMap<Service,​java.util.concurrent.ConcurrentMap<java.lang.String,​InstanceMetadata>> instanceMetadataMap
      • INITIAL_CAPACITY

        private static final int INITIAL_CAPACITY
        另请参阅:
        常量字段值
    • 构造器详细资料

      • NamingMetadataManager

        public NamingMetadataManager()
    • 方法详细资料

      • containServiceMetadata

        public boolean containServiceMetadata​(Service service)
        Whether contain service metadata for Service.
        参数:
        service - service
        返回:
        true if contain service metadata, otherwise false
      • containInstanceMetadata

        public boolean containInstanceMetadata​(Service service,
                                               java.lang.String metadataId)
        Whether instance metadata for instance of Service.
        参数:
        service - service
        metadataId - instance metadata id
        返回:
        true if contain instance metadata, otherwise false
      • getServiceMetadata

        public java.util.Optional<ServiceMetadata> getServiceMetadata​(Service service)
        Get service metadata for Service, which is the original metadata object.

        This method should use only query, can't modify metadata.

        参数:
        service - service
        返回:
        service metadata
      • getInstanceMetadata

        public java.util.Optional<InstanceMetadata> getInstanceMetadata​(Service service,
                                                                        java.lang.String metadataId)
        Get instance metadata for instance of Service, which is the original metadata object.

        This method should use only query, can't modify metadata.

        参数:
        service - service
        metadataId - instance metadata id
        返回:
        instance metadata
      • updateServiceMetadata

        public void updateServiceMetadata​(Service service,
                                          ServiceMetadata serviceMetadata)
        Update service metadata.
        参数:
        service - service
        serviceMetadata - new service metadata
      • updateInstanceMetadata

        public void updateInstanceMetadata​(Service service,
                                           java.lang.String metadataId,
                                           InstanceMetadata instanceMetadata)
        Update instance metadata.
        参数:
        service - service
        metadataId - instance metadata id
        instanceMetadata - new instance metadata
      • removeServiceMetadata

        public void removeServiceMetadata​(Service service)
        Remove service metadata.
        参数:
        service - service
      • removeInstanceMetadata

        public void removeInstanceMetadata​(Service service,
                                           java.lang.String metadataId)
        Remove instance metadata.
        参数:
        service - service
        metadataId - instance metadata id
      • getServiceMetadataSnapshot

        public java.util.Map<Service,​ServiceMetadata> getServiceMetadataSnapshot()
        Get service metadata snapshot.
        返回:
        service metadata snapshot
      • getInstanceMetadataSnapshot

        public java.util.Map<Service,​java.util.concurrent.ConcurrentMap<java.lang.String,​InstanceMetadata>> getInstanceMetadataSnapshot()
        Get instance metadata snapshot.
        返回:
        service metadata snapshot
      • loadServiceMetadataSnapshot

        public void loadServiceMetadataSnapshot​(java.util.concurrent.ConcurrentMap<Service,​ServiceMetadata> snapshot)
        Load service metadata snapshot.

        Service metadata need load back the service.

        参数:
        snapshot - snapshot
      • loadInstanceMetadataSnapshot

        public void loadInstanceMetadataSnapshot​(java.util.concurrent.ConcurrentMap<Service,​java.util.concurrent.ConcurrentMap<java.lang.String,​InstanceMetadata>> snapshot)
        Load instance metadata snapshot.
        参数:
        snapshot - snapshot
      • getExpiredMetadataInfos

        public java.util.Set<ExpiredMetadataInfo> getExpiredMetadataInfos()
      • subscribeTypes

        public java.util.List<java.lang.Class<? extends com.alibaba.nacos.common.notify.Event>> subscribeTypes()
        指定者:
        subscribeTypes 在类中 com.alibaba.nacos.common.notify.listener.SmartSubscriber
      • onEvent

        public void onEvent​(com.alibaba.nacos.common.notify.Event event)
        指定者:
        onEvent 在类中 com.alibaba.nacos.common.notify.listener.Subscriber
      • updateExpiredInfo

        private void updateExpiredInfo​(boolean expired,
                                       ExpiredMetadataInfo expiredMetadataInfo)