Fix ConditionalOnBean annotation may not take effect

This commit is contained in:
hongqiaowei
2021-10-26 15:43:32 +08:00
committed by GitHub
parent b5ad927467
commit 3b45d07fe6
7 changed files with 21 additions and 15 deletions

View File

@@ -20,6 +20,7 @@ package we.api.pairing;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
@@ -51,7 +52,7 @@ import java.util.stream.Collectors;
* @author hongqiaowei
*/
@ConditionalOnBean({ApiPairingDocSetService.class})
@ConditionalOnProperty(name = SystemConfig.FIZZ_API_PAIRING_SERVER_ENABLE, havingValue = "true")
@RestController
@RequestMapping(SystemConfig.DEFAULT_GATEWAY_PREFIX + "/_fizz-pairing")
public class ApiPairingController {

View File

@@ -27,6 +27,7 @@ import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
import we.Fizz;
import we.config.AggregateRedisConfig;
import we.config.SystemConfig;
import we.plugin.auth.ApiConfig;
import we.util.JacksonUtils;
import we.util.ReactiveResult;
@@ -40,7 +41,7 @@ import java.util.*;
* @author hongqiaowei
*/
@ConditionalOnProperty(name = "fizz.api.pairing.server.enable", havingValue = "true")
@ConditionalOnProperty(name = SystemConfig.FIZZ_API_PAIRING_SERVER_ENABLE, havingValue = "true")
@Service
public class ApiPairingDocSetService {

View File

@@ -26,6 +26,7 @@ import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
import we.Fizz;
import we.config.AggregateRedisConfig;
import we.config.SystemConfig;
import we.util.JacksonUtils;
import we.util.ReactiveResult;
import we.util.Result;
@@ -40,7 +41,7 @@ import java.util.Map;
* @author hongqiaowei
*/
@ConditionalOnProperty(name = "fizz.api.pairing.client.enable", havingValue = "true")
@ConditionalOnProperty(name = SystemConfig.FIZZ_API_PAIRING_CLIENT_ENABLE, havingValue = "true")
@Service
public class ApiPairingInfoService {

View File

@@ -17,15 +17,16 @@
package we.api.pairing;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.ApplicationListener;
import org.springframework.stereotype.Component;
import we.config.SystemConfig;
/**
* @author hongqiaowei
*/
@ConditionalOnBean({FizzApiPairingWebServer.class})
@ConditionalOnProperty(name = SystemConfig.FIZZ_API_PAIRING_CLIENT_ENABLE, havingValue = "true")
@Component
public class ApiPairingServiceRegistration implements ApplicationListener<FizzApiPairingWebServerInitializedEvent> {

View File

@@ -21,7 +21,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.autoconfigure.web.reactive.HttpHandlerAutoConfiguration;
import org.springframework.boot.web.embedded.netty.NettyReactiveWebServerFactory;
import org.springframework.boot.web.reactive.context.ReactiveWebServerApplicationContext;
@@ -30,6 +30,7 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.http.server.reactive.HttpHandler;
import org.springframework.web.server.adapter.HttpWebHandlerAdapter;
import org.springframework.web.server.session.DefaultWebSessionManager;
import we.config.SystemConfig;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
@@ -39,7 +40,7 @@ import javax.annotation.Resource;
* @author hongqiaowei
*/
@ConditionalOnBean({ApiPairingInfoService.class})
@ConditionalOnProperty(name = SystemConfig.FIZZ_API_PAIRING_CLIENT_ENABLE, havingValue = "true")
@Configuration
@AutoConfigureAfter({HttpHandlerAutoConfiguration.class})
public class FizzApiPairingWebServer {

View File

@@ -55,6 +55,9 @@ public class SystemConfig {
public static final String FIZZ_SIGN = "fizz-sign";
public static final String FIZZ_TIMESTAMP = "fizz-ts";
public static final String FIZZ_API_PAIRING_SERVER_ENABLE = "fizz.api.pairing.server.enable";
public static final String FIZZ_API_PAIRING_CLIENT_ENABLE = "fizz.api.pairing.client.enable";
private String gatewayPrefix = DEFAULT_GATEWAY_PREFIX;
private List<String> appHeaders = Stream.of(FIZZ_APP_ID) .collect(Collectors.toList());