[SPRING] 유레카 발견 클라이언트 - 선택적 디스 에이블
SPRING유레카 발견 클라이언트 - 선택적 디스 에이블
스프링 프로파일을 기반으로 스프링 부트 유레카 클라이언트 등록을 비활성화하는 방법이 있습니까?
현재 다음 주석을 사용합니다.
@Configuration
@EnableAutoConfiguration
@EnableDiscoveryClient
@EnableConfigServer
public class ConfigApplication {
public static void main(String[] args) {
SpringApplication.run(ConfigApplication.class, args);
}
}
내가 필요로하는 것은 조건 코드 (pseudo code)
@if (Profile!="development")
@EnableDiscoveryClient
@endif
또는 응용 프로그램 속성 파일에서 어떤 식 으로든. 나는 application.yml 파일을 다음과 같이 설정하려고 시도했다 :
spring:
profiles: development
cloud:
discovery:
enabled: false
그러나 이것은 효과가 없었습니다.
해결법
-
==============================
1.@Configuration 주석이 달린 클래스 (class body 생략 가능)를 생성하십시오. 예 :
@Configuration 주석이 달린 클래스 (class body 생략 가능)를 생성하십시오. 예 :
@Profile("!development") @Configuration @EnableDiscoveryClient public class EurekaClientConfiguration { }
이는이 구성 파일 (및 @EnableDiscoveryClient가)이 "개발"을 제외한 모든 프로필에로드된다는 것을 의미합니다.
희망은 도움이된다.
-
==============================
2.다음을 사용하여 application.yml에서 eureka 클라이언트를 비활성화 할 수 있습니다.
다음을 사용하여 application.yml에서 eureka 클라이언트를 비활성화 할 수 있습니다.
eureka: client: enabled: false
하나의 프로필에도 해당됩니다.
-
==============================
3.여기 같은 문제. 응용 프로그램 속성 파일에 다음 구성을 넣으면됩니다.
여기 같은 문제. 응용 프로그램 속성 파일에 다음 구성을 넣으면됩니다.
spring: profiles: development eureka: instance: hostname: localhost client: registerWithEureka: false fetchRegistry: false
-
==============================
4.표준 부울 스프링 - 클라우드 속성이 있습니다.
표준 부울 스프링 - 클라우드 속성이 있습니다.
spring.cloud.discovery.enabled
당신이 다른 공급자를 사용하고 있기 때문에 이것은 "유레카"보다 낫습니다.
-
==============================
5.최신 버전의 스프링 부트로 bootstrap.yml 파일에 추가하십시오.
최신 버전의 스프링 부트로 bootstrap.yml 파일에 추가하십시오.
봄 구름 버전 : Edgeware : SR3 이상
spring: application: name: test cloud: service-registry: auto-registration: enabled: false
유레카가 사용 중지됩니다. 이 기능을 사용하려면 true로 설정해야합니다.
-
==============================
6.@EnableDiscoveryClient 주석을 사용하는 경우 최신 버전의 Spring Cloud Finchley.SR2로 application.properties의 다음 등록 정보를 모두 설정하여 서비스 등록을 비활성화해야합니다.
@EnableDiscoveryClient 주석을 사용하는 경우 최신 버전의 Spring Cloud Finchley.SR2로 application.properties의 다음 등록 정보를 모두 설정하여 서비스 등록을 비활성화해야합니다.
spring.cloud.service-registry.auto-registration.enabled=false eureka.client.enabled=false eureka.client.serviceUrl.registerWithEureka=false
from https://stackoverflow.com/questions/35142105/eureka-discovery-client-selective-disable by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] UserDetails getPassword는 봄 보안 3.1에서 null을 반환합니다. 현재 로그인 한 사용자의 비밀번호를 얻는 방법은 무엇입니까? (0) | 2019.01.19 |
---|---|
[SPRING] 봄 - ConstraintValidator [JSR 303 콩 검사기]에 서비스를 주입 (0) | 2019.01.19 |
[SPRING] / oauth / token에 유효하지 않은 XSRF 토큰이 있습니다. (0) | 2019.01.19 |
[SPRING] java로 데이터베이스 리스너를 만드는 방법은? (0) | 2019.01.19 |
[SPRING] HQL 쿼리에서 Hibernate 테이블 매핑 오류가 발생했습니다. (0) | 2019.01.19 |