fix 修复 nacos 与 undertow 整合使用 停止应用时报错的问题

2.X
疯狂的狮子li 3 years ago
parent 6d7b13f267
commit a99b8107e0

@ -34,5 +34,11 @@
<artifactId>spring-boot-starter-undertow</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
</project>

@ -0,0 +1,38 @@
package com.ruoyi.common.web.config;
import com.alibaba.cloud.nacos.ConditionalOnNacosDiscoveryEnabled;
import com.alibaba.cloud.nacos.NacosDiscoveryProperties;
import com.alibaba.cloud.nacos.NacosServiceManager;
import com.alibaba.cloud.nacos.discovery.NacosDiscoveryAutoConfiguration;
import com.alibaba.cloud.nacos.discovery.NacosDiscoveryClientConfiguration;
import com.alibaba.cloud.nacos.discovery.NacosWatch;
import com.ruoyi.common.web.nacos.CustomNacosWatch;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.cloud.client.ConditionalOnBlockingDiscoveryEnabled;
import org.springframework.cloud.client.ConditionalOnDiscoveryEnabled;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* nacos Undertow
*
* @author Lion Li
*/
@Configuration(proxyBeanMethods = false)
@ConditionalOnDiscoveryEnabled
@ConditionalOnBlockingDiscoveryEnabled
@ConditionalOnNacosDiscoveryEnabled
@AutoConfigureBefore(NacosDiscoveryClientConfiguration.class)
@AutoConfigureAfter(NacosDiscoveryAutoConfiguration.class)
public class NacosConfig {
@Bean
@ConditionalOnProperty(value = "spring.cloud.nacos.discovery.watch.enabled", matchIfMissing = true)
public NacosWatch nacosWatch(NacosServiceManager nacosServiceManager,
NacosDiscoveryProperties nacosDiscoveryProperties) {
return new CustomNacosWatch(nacosServiceManager, nacosDiscoveryProperties);
}
}

@ -0,0 +1,25 @@
package com.ruoyi.common.web.nacos;
import com.alibaba.cloud.nacos.NacosDiscoveryProperties;
import com.alibaba.cloud.nacos.NacosServiceManager;
import com.alibaba.cloud.nacos.discovery.NacosWatch;
/**
* nacos
*
* @author Lion Li
*/
public class CustomNacosWatch extends NacosWatch {
public CustomNacosWatch(NacosServiceManager nacosServiceManager, NacosDiscoveryProperties properties) {
super(nacosServiceManager, properties);
}
/**
* Undertow
*/
@Override
public int getPhase() {
return Integer.MAX_VALUE;
}
}

@ -1,3 +1,4 @@
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.ruoyi.common.web.config.I18nConfig,\
com.ruoyi.common.web.config.UndertowConfig
com.ruoyi.common.web.config.UndertowConfig,\
com.ruoyi.common.web.config.NacosConfig

Loading…
Cancel
Save