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

pull/358/head
flystar32 6 years ago
parent d6334fbe87
commit 7677507294

@ -41,48 +41,53 @@ 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(
return new NacosServiceRegistry(nacosDiscoveryProperties); NacosDiscoveryProperties nacosDiscoveryProperties) {
} return new NacosServiceRegistry(nacosDiscoveryProperties);
}
@Bean @Bean
@ConditionalOnBean(AutoServiceRegistrationProperties.class) @ConditionalOnBean(AutoServiceRegistrationProperties.class)
public NacosRegistration nacosRegistration( public NacosRegistration nacosRegistration(
NacosDiscoveryProperties nacosDiscoveryProperties, NacosDiscoveryProperties nacosDiscoveryProperties,
ApplicationContext context) { ApplicationContext context) {
return new NacosRegistration(nacosDiscoveryProperties, context); return new NacosRegistration(nacosDiscoveryProperties, context);
} }
@Bean @Bean
@ConditionalOnBean(AutoServiceRegistrationProperties.class) @ConditionalOnBean(AutoServiceRegistrationProperties.class)
public NacosAutoServiceRegistration nacosAutoServiceRegistration( public NacosAutoServiceRegistration nacosAutoServiceRegistration(
NacosServiceRegistry registry, NacosServiceRegistry registry,
AutoServiceRegistrationProperties autoServiceRegistrationProperties, AutoServiceRegistrationProperties autoServiceRegistrationProperties,
NacosRegistration registration) { NacosRegistration registration) {
return new NacosAutoServiceRegistration(registry, return new NacosAutoServiceRegistration(registry,
autoServiceRegistrationProperties, registration); autoServiceRegistrationProperties, registration);
} }
@Bean @Bean
@ConditionalOnBean(NacosAutoServiceRegistration.class) // NacosAutoServiceRegistration should be present @ConditionalOnBean(NacosAutoServiceRegistration.class) // NacosAutoServiceRegistration
@ConditionalOnNotWebApplication // Not Web Application // should be present
public ApplicationRunner applicationRunner(NacosAutoServiceRegistration nacosAutoServiceRegistration) { @ConditionalOnNotWebApplication // Not Web Application
return args -> { public ApplicationRunner applicationRunner(
// WebServerInitializedEvent should not be multicast in Non-Web environment. NacosAutoServiceRegistration nacosAutoServiceRegistration) {
// Whatever, NacosAutoServiceRegistration must be checked it's running or not. return args -> {
if (!nacosAutoServiceRegistration.isRunning()) { // If it's not running, let it start. // WebServerInitializedEvent should not be multicast in Non-Web environment.
// FIXME: Please make sure "spring.cloud.nacos.discovery.port" must be configured on an available port, // Whatever, NacosAutoServiceRegistration must be checked it's running or not.
// or the startup or Nacos health check will be failed. if (!nacosAutoServiceRegistration.isRunning()) { // If it's not running, let
nacosAutoServiceRegistration.start(); // it start.
// NacosAutoServiceRegistration will be stopped after its destroy() method is invoked. // FIXME: Please make sure "spring.cloud.nacos.discovery.port" must be
// @PreDestroy destroy() -> stop() // configured on an available port,
} // or the startup or Nacos health check will be failed.
}; nacosAutoServiceRegistration.start();
} // NacosAutoServiceRegistration will be stopped after its destroy() method
// is invoked.
// @PreDestroy destroy() -> stop()
}
};
}
} }
Loading…
Cancel
Save