gateway 와 spring-boot-starter-웹 충돌 문제 해결
환경:
SpringCloud 버 전---Finchley.SR2
SpringBoot 버 전---2.0.6.RELEASE
질문 설명:
zuul 게 이 트 웨 이 를 gateway 로 업그레이드 할 때 gateway 를 도입 하여 게 이 트 웨 이 를 시작 하 는 게 이 트 웨 이 프로젝트 에 의존 하여 오 류 를 보고 합 니 다.
도입 의존:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
게 이 트 웨 이 시작 오류Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2019-12-31 10:26:35.211 ERROR 13124 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter :
***************************
APPLICATION FAILED TO START
***************************
Description:
Parameter 0 of method modifyRequestBodyGatewayFilterFactory in org.springframework.cloud.gateway.config.GatewayAutoConfiguration required a bean of type 'org.springframework.http.codec.ServerCodecConfigurer' that could not be found.
Action:
Consider defining a bean of type 'org.springframework.http.codec.ServerCodecConfigurer' in your configuration.
Process finished with exit code 1
문제 분석:
콘 솔 인쇄 로그 보기:
웹 이 의존 하 는 tomcat 용기 시작 에 실 패 했 고 nio 이상 을 출력 한 것 을 볼 수 있 습 니 다.
zuul 과 gateway 의 차 이 를 돌 이 켜 보 세 요.
Zuul:Servlet 2.5 에 구축 되 고 3.x 를 호 환 합 니 다.차단 식 API 를 사용 하고 긴 연결 을 지원 하지 않 습 니 다.예 를 들 어 websockets.
Gateway 는 Spring 5+에 구축 되 고 Spring Boot 2.x 응답 식,비 차단 식 API 를 기반 으로 합 니 다.또한,웹 sockets 를 지원 하 며,Spring 프레임 워 크 와 긴밀 하 게 통합 되 어 있 습 니 다.
오류 원인:시작 할 때 기본적으로 spring-boot-starter-web 내 장 된 용 기 를 사 용 했 습 니 다.비 차단 은 지원 되 지 않 습 니 다.
문제 해결:
두 가지 해결 방법 이 있다.
1.웹 내장 용기 제거
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- Maven , war spring-boot -->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
2,spring-webflux 모듈 사용웹 flux 는 새로운 비 막힘 함수 식 Reactive 웹 프레임 워 크 를 가지 고 있 으 며,비동기 적 이 고 비 막힘 적 이 며 이벤트 구동 서 비 스 를 구축 할 수 있 습 니 다.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
프로젝트 성공 시작gateway 게 이 트 웨 이 버 전 충돌 문제
1.spring-cloud 버 전
<spring-cloud.version>Finchley.RELEASE</spring-cloud.version>
2,sprring-boot 버 전
<version>2.0.3.RELEASE</version>
3.오류 설명Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2019-05-21 16:53:50.138 ERROR 15308 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter :
***************************
APPLICATION FAILED TO START
***************************
Description:
Parameter 0 of method modifyRequestBodyGatewayFilterFactory in org.springframework.cloud.gateway.config.GatewayAutoConfiguration required a bean of type 'org.springframework.http.codec.ServerCodecConfigurer' that could not be found.
Action:
Consider defining a bean of type 'org.springframework.http.codec.ServerCodecConfigurer' in your configuration.
4.이유
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
...과
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
버 전 충돌5.해결
삭제 가능:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
이상 은 개인 적 인 경험 이 므 로 여러분 에 게 참고 가 되 기 를 바 랍 니 다.여러분 들 도 저 희 를 많이 응원 해 주시 기 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kusk Gateway 1.2.0 릴리스 - OAuth, 로컬 모킹 등!익숙하지 않은 경우 을 독특하게 만드는 것은 유비쿼터스 OpenAPI 사양 파일을 라우팅 구성, 요청 유효성 검사, 시간 초과 등을 포함하여 소비자가 API를 사용할 수 있도록 하기 위한 단일 진실 소스로 사용한다는...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.