1
0
mirror of https://gitee.com/mirrors/Spring-Cloud-Alibaba.git synced 2021-06-26 13:25:11 +08:00

add NacosRegistrationCustomizer.java

This commit is contained in:
如梦技术 2020-05-30 17:35:59 +08:00
parent acd7681368
commit d3d7bc00bb
3 changed files with 20 additions and 16 deletions

View File

@ -59,15 +59,16 @@ public class NacosRegistration implements Registration, ServiceInstance {
*/ */
public static final String MANAGEMENT_ENDPOINT_BASE_PATH = "management.endpoints.web.base-path"; public static final String MANAGEMENT_ENDPOINT_BASE_PATH = "management.endpoints.web.base-path";
private List<NacosRegistrationCustomizer> registrationCustomizers;
private NacosDiscoveryProperties nacosDiscoveryProperties; private NacosDiscoveryProperties nacosDiscoveryProperties;
private ApplicationContext context; private ApplicationContext context;
private List<NacosRegistrationCustomizer> registrationCustomizers; public NacosRegistration(List<NacosRegistrationCustomizer> registrationCustomizers,
NacosDiscoveryProperties nacosDiscoveryProperties,
public NacosRegistration(NacosDiscoveryProperties nacosDiscoveryProperties, ApplicationContext context) {
ApplicationContext context, this.registrationCustomizers = registrationCustomizers;
List<NacosRegistrationCustomizer> registrationCustomizers) {
this.nacosDiscoveryProperties = nacosDiscoveryProperties; this.nacosDiscoveryProperties = nacosDiscoveryProperties;
this.context = context; this.context = context;
} }
@ -112,7 +113,9 @@ public class NacosRegistration implements Registration, ServiceInstance {
customize(registrationCustomizers, this); customize(registrationCustomizers, this);
} }
private static void customize(List<NacosRegistrationCustomizer> registrationCustomizers, NacosRegistration registration) { private static void customize(
List<NacosRegistrationCustomizer> registrationCustomizers,
NacosRegistration registration) {
if (registrationCustomizers != null) { if (registrationCustomizers != null) {
for (NacosRegistrationCustomizer customizer : registrationCustomizers) { for (NacosRegistrationCustomizer customizer : registrationCustomizers) {
customizer.customize(registration); customizer.customize(registration);

View File

@ -22,8 +22,7 @@ package com.alibaba.cloud.nacos.registry;
public interface NacosRegistrationCustomizer { public interface NacosRegistrationCustomizer {
/** /**
* customize NacosRegistration * customize NacosRegistration.
*
* @param registration NacosRegistration * @param registration NacosRegistration
*/ */
void customize(NacosRegistration registration); void customize(NacosRegistration registration);

View File

@ -16,6 +16,8 @@
package com.alibaba.cloud.nacos.registry; package com.alibaba.cloud.nacos.registry;
import java.util.List;
import com.alibaba.cloud.nacos.ConditionalOnNacosDiscoveryEnabled; import com.alibaba.cloud.nacos.ConditionalOnNacosDiscoveryEnabled;
import com.alibaba.cloud.nacos.NacosDiscoveryProperties; import com.alibaba.cloud.nacos.NacosDiscoveryProperties;
import com.alibaba.cloud.nacos.discovery.NacosDiscoveryAutoConfiguration; import com.alibaba.cloud.nacos.discovery.NacosDiscoveryAutoConfiguration;
@ -32,8 +34,6 @@ import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import java.util.List;
/** /**
* @author xiaojing * @author xiaojing
* @author <a href="mailto:mercyblitz@gmail.com">Mercy</a> * @author <a href="mailto:mercyblitz@gmail.com">Mercy</a>
@ -56,10 +56,12 @@ public class NacosServiceRegistryAutoConfiguration {
@Bean @Bean
@ConditionalOnBean(AutoServiceRegistrationProperties.class) @ConditionalOnBean(AutoServiceRegistrationProperties.class)
public NacosRegistration nacosRegistration(NacosDiscoveryProperties nacosDiscoveryProperties, public NacosRegistration nacosRegistration(
ApplicationContext context, ObjectProvider<List<NacosRegistrationCustomizer>> registrationCustomizers,
ObjectProvider<List<NacosRegistrationCustomizer>> registrationCustomizers) { NacosDiscoveryProperties nacosDiscoveryProperties,
return new NacosRegistration(nacosDiscoveryProperties, context, registrationCustomizers.getIfAvailable()); ApplicationContext context) {
return new NacosRegistration(registrationCustomizers.getIfAvailable(),
nacosDiscoveryProperties, context);
} }
@Bean @Bean