fix 修复 nacos 与 undertow 整合使用 停止应用时报错的问题
parent
6d7b13f267
commit
a99b8107e0
@ -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…
Reference in New Issue