mirror of
https://gitee.com/mirrors/Spring-Cloud-Alibaba.git
synced 2021-06-26 13:25:11 +08:00
cache onRegister
This commit is contained in:
parent
170edfa73e
commit
da9a57ddf8
@ -19,10 +19,15 @@ package com.alibaba.cloud.nacos;
|
|||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
|
||||||
|
import com.alibaba.cloud.nacos.registry.NacosRegistration;
|
||||||
import com.alibaba.nacos.api.exception.NacosException;
|
import com.alibaba.nacos.api.exception.NacosException;
|
||||||
import com.alibaba.nacos.api.naming.NamingMaintainService;
|
import com.alibaba.nacos.api.naming.NamingMaintainService;
|
||||||
import com.alibaba.nacos.api.naming.NamingService;
|
import com.alibaba.nacos.api.naming.NamingService;
|
||||||
|
|
||||||
|
import org.springframework.cloud.client.discovery.event.InstancePreRegisteredEvent;
|
||||||
|
import org.springframework.cloud.client.serviceregistry.Registration;
|
||||||
|
import org.springframework.context.event.EventListener;
|
||||||
|
|
||||||
import static com.alibaba.nacos.api.NacosFactory.createMaintainService;
|
import static com.alibaba.nacos.api.NacosFactory.createMaintainService;
|
||||||
import static com.alibaba.nacos.api.NacosFactory.createNamingService;
|
import static com.alibaba.nacos.api.NacosFactory.createNamingService;
|
||||||
import static org.springframework.beans.BeanUtils.copyProperties;
|
import static org.springframework.beans.BeanUtils.copyProperties;
|
||||||
@ -54,12 +59,8 @@ public class NacosServiceManager {
|
|||||||
|
|
||||||
public boolean isNacosDiscoveryInfoChanged(
|
public boolean isNacosDiscoveryInfoChanged(
|
||||||
NacosDiscoveryProperties nacosDiscoveryProperties) {
|
NacosDiscoveryProperties nacosDiscoveryProperties) {
|
||||||
if (Objects.isNull(nacosDiscoveryPropertiesCache)) {
|
if (Objects.isNull(nacosDiscoveryPropertiesCache)
|
||||||
nacosDiscoveryPropertiesCache = new NacosDiscoveryProperties();
|
|| this.nacosDiscoveryPropertiesCache.equals(nacosDiscoveryProperties)) {
|
||||||
copyProperties(nacosDiscoveryProperties, nacosDiscoveryPropertiesCache);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (this.nacosDiscoveryPropertiesCache.equals(nacosDiscoveryProperties)) {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
copyProperties(nacosDiscoveryProperties, nacosDiscoveryPropertiesCache);
|
copyProperties(nacosDiscoveryProperties, nacosDiscoveryPropertiesCache);
|
||||||
@ -111,7 +112,22 @@ public class NacosServiceManager {
|
|||||||
namingMaintainService = createNamingMaintainService(nacosProperties);
|
namingMaintainService = createNamingMaintainService(nacosProperties);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void nacosServiceShutDown() throws NacosException {
|
public void nacosServiceShutDown() throws NacosException {
|
||||||
this.namingService.shutDown();
|
this.namingService.shutDown();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@EventListener
|
||||||
|
public void onInstancePreRegisteredEvent(
|
||||||
|
InstancePreRegisteredEvent instancePreRegisteredEvent) {
|
||||||
|
Registration registration = instancePreRegisteredEvent.getRegistration();
|
||||||
|
if (Objects.isNull(nacosDiscoveryPropertiesCache)
|
||||||
|
&& registration instanceof NacosRegistration) {
|
||||||
|
NacosDiscoveryProperties nacosDiscoveryProperties = ((NacosRegistration) registration)
|
||||||
|
.getNacosDiscoveryProperties();
|
||||||
|
|
||||||
|
nacosDiscoveryPropertiesCache = new NacosDiscoveryProperties();
|
||||||
|
copyProperties(nacosDiscoveryProperties, nacosDiscoveryPropertiesCache);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user