스프링을 사용하여 Eureka 디스커버리 클라이언트를 선택적으로 비활성화하려면 어떻게 해야 합니까?
스프링 프로파일을 기반으로 스프링 부트 유레카 클라이언트 등록을 비활성화하는 방법이 있습니까?
현재 다음 주석을 사용하고 있습니다.
@Configuration
@EnableAutoConfiguration
@EnableDiscoveryClient
@EnableConfigServer
public class ConfigApplication {
public static void main(String[] args) {
SpringApplication.run(ConfigApplication.class, args);
}
}
필요한 것은 (의사 코드 실례)와 같은 조건입니다.
@if (Profile!="development")
@EnableDiscoveryClient
@endif
응용 프로그램 속성 파일에 있는 방법일 수도 있습니다.application.yml 파일을 다음과 같이 설정해 보았습니다.
spring:
profiles: development
cloud:
discovery:
enabled: false
하지만 이것은 효과가 없었다.
다음과 같이 application.yml에서 eureka 클라이언트를 디세블로 할 수 있습니다.
eureka:
client:
enabled: false
한 명의 프로필에 대해서도
다음과 같이 합니다.작성:@Configuration
주석 클래스(클래스 본문은 생략 가능):
@Profile("!development")
@Configuration
@EnableDiscoveryClient
public class EurekaClientConfiguration {
}
즉, 이 컨피규레이션파일이@EnableDiscoveryClient
'개발'을 제외한 모든 프로파일에 로드됩니다.
도움이 됐으면 좋겠는데
Spring Cloud Finchley의 최신 버전.SR2 @EnableDiscoveryClient 주석을 사용하는 경우 application.properties에서 다음 속성을 모두 설정하여 서비스 등록을 해제해야 합니다.
spring.cloud.service-registry.auto-registration.enabled=false
eureka.client.enabled=false
eureka.client.serviceUrl.registerWithEureka=false
여기도 마찬가지입니다.응용 프로그램 속성 파일에 다음 구성만 넣을 수 있습니다.
spring:
profiles: development
eureka:
instance:
hostname: localhost
client:
registerWithEureka: false
fetchRegistry: false
표준 부울 스프링 클라우드 속성이 있습니다.
spring.cloud.claught.enabled
다른 프로바이더를 사용하고 있을 가능성이 있기 때문에, 이것은 「유레카」에 특화된 것보다 좋을 수 있습니다.
최신 버전의 Spring 부트에서는 이것을 bootstrap.yml 파일에 추가해 주세요.
스프링 클라우드 버전 : 엣지웨어 : SR3 이후
spring:
application:
name: test
cloud:
service-registry:
auto-registration:
enabled: false
그러면 유레카가 비활성화됩니다.유효하게 하려면 , 유효하게 하면 됩니다.
Eureka Discovery Client를 비활성화하려면
eureka.client.enabled
로.false
.
Eureka 디스커버리 클라이언트도 다음과 같이 비활성화됩니다.spring.cloud.discovery.enabled
로 설정되어 있다.false
.
언급URL : https://stackoverflow.com/questions/35142105/how-to-selectively-disable-eureka-discovery-client-with-spring
'programing' 카테고리의 다른 글
Retrofit2 Android:BEGIN_ARRAY가 필요한데 1행 2패스 $에 BEGIN_OBJECT가 있었습니다. (0) | 2023.04.01 |
---|---|
스프링 부트와 스프링 IO의 관계는 무엇입니까? (0) | 2023.04.01 |
Yoast SEO | 커스텀 변수 작성 방법 (0) | 2023.04.01 |
JSON 문자열을 오브젝트로 해석하는 가장 간단한 C# 함수는 무엇입니까? (0) | 2023.04.01 |
이 상태랑 이 상태랑 뭐가 달라?setstate를 ReactJS로 설정하시겠습니까? (0) | 2023.04.01 |