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

Polish #345 , fixes @AutoConfigureAfter(AutoServiceRegistrationAutoConfiguration.class)

This commit is contained in:
flystar32 2019-02-14 10:46:51 +08:00
parent d6334fbe87
commit 7677507294

View File

@ -41,13 +41,13 @@ import org.springframework.context.annotation.Configuration;
@EnableConfigurationProperties @EnableConfigurationProperties
@ConditionalOnNacosDiscoveryEnabled @ConditionalOnNacosDiscoveryEnabled
@ConditionalOnProperty(value = "spring.cloud.service-registry.auto-registration.enabled", matchIfMissing = true) @ConditionalOnProperty(value = "spring.cloud.service-registry.auto-registration.enabled", matchIfMissing = true)
@AutoConfigureBefore({AutoServiceRegistrationAutoConfiguration.class, @AutoConfigureBefore(NacosDiscoveryClientAutoConfiguration.class)
NacosDiscoveryClientAutoConfiguration.class}) @AutoConfigureAfter(AutoServiceRegistrationAutoConfiguration.class)
@AutoConfigureAfter(AutoServiceRegistrationConfiguration.class)
public class NacosDiscoveryAutoConfiguration { public class NacosDiscoveryAutoConfiguration {
@Bean @Bean
public NacosServiceRegistry nacosServiceRegistry(NacosDiscoveryProperties nacosDiscoveryProperties) { public NacosServiceRegistry nacosServiceRegistry(
NacosDiscoveryProperties nacosDiscoveryProperties) {
return new NacosServiceRegistry(nacosDiscoveryProperties); return new NacosServiceRegistry(nacosDiscoveryProperties);
} }
@ -70,17 +70,22 @@ public class NacosDiscoveryAutoConfiguration {
} }
@Bean @Bean
@ConditionalOnBean(NacosAutoServiceRegistration.class) // NacosAutoServiceRegistration should be present @ConditionalOnBean(NacosAutoServiceRegistration.class) // NacosAutoServiceRegistration
// should be present
@ConditionalOnNotWebApplication // Not Web Application @ConditionalOnNotWebApplication // Not Web Application
public ApplicationRunner applicationRunner(NacosAutoServiceRegistration nacosAutoServiceRegistration) { public ApplicationRunner applicationRunner(
NacosAutoServiceRegistration nacosAutoServiceRegistration) {
return args -> { return args -> {
// WebServerInitializedEvent should not be multicast in Non-Web environment. // WebServerInitializedEvent should not be multicast in Non-Web environment.
// Whatever, NacosAutoServiceRegistration must be checked it's running or not. // Whatever, NacosAutoServiceRegistration must be checked it's running or not.
if (!nacosAutoServiceRegistration.isRunning()) { // If it's not running, let it start. if (!nacosAutoServiceRegistration.isRunning()) { // If it's not running, let
// FIXME: Please make sure "spring.cloud.nacos.discovery.port" must be configured on an available port, // it start.
// FIXME: Please make sure "spring.cloud.nacos.discovery.port" must be
// configured on an available port,
// or the startup or Nacos health check will be failed. // or the startup or Nacos health check will be failed.
nacosAutoServiceRegistration.start(); nacosAutoServiceRegistration.start();
// NacosAutoServiceRegistration will be stopped after its destroy() method is invoked. // NacosAutoServiceRegistration will be stopped after its destroy() method
// is invoked.
// @PreDestroy destroy() -> stop() // @PreDestroy destroy() -> stop()
} }
}; };