봄 클라우드 게이트웨이 라우팅 게이트웨이 소스 코드 분석 03 02

CompositeRouteLocator 의 조합 의 다양한  RouteLocator 구현 클래스, RoutePredicateHandlerMapping 제공하는 통합 입구 액세스 경로를

CachingRouteLocator , 캐시 RouteLocator 구현 클래스를 라우팅. 전화 CachingRouteLocator에게 RoutePredicateHandlerMapping  RouteLocator#getRoutes() 방법은 경로를 얻을 수있다.

새로 고침 캐시

 

RouteDefinitionRouteLocator 获取路由route

1. 먼저, RouteDefinition을 얻을, 다음 convertToRoute은 경로 필터로 변환 호출하고 해당 술어를 추가

획득 조건 2. 봐

   

  2.1 예외를 던지는 것보다 적은 수, 로컬 캐시 공장을 인수 시작

  2.2 다음 설정의 공장 구성을로드

  

2.3 캐시없는 경우, 기존 캐시를 얻을 GET 조건에 HTTP 요청을 구성

 

필터 필터를 취득합니다  

   3.1 기본 필터 defaultFilters를 추가

   또한, 상기 필터 구성을 추가 3.2

 

++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++

공장과 관련된 라우팅 상속 그래프 이하

RoutePredicateFactory 핵심 인터페이스로, routePredicate을 작성, 다음과 같은 방법을 적용

AfterRoutePredicateFactory 요청 시간 설정시 만족 후 

BeforeRoutePredicateFactory 요청 시간 구성시 만족 하기 전에

BetweenRoutePredicateFactory 요구 시간 의 시간이 만족 배치 사이

CloudFoundryRouteServiceRoutePredicateFactory PAAS 클라우드 플랫폼

CookieRoutePredicateFactory 요청은 쿠키 지정된  정규 경기를 지정된 값을 .

HeaderRoutePredicateFactory 요청은 쿠키 지정된  정규 경기를 지정된 값을 .

HostRoutePredicateFactory 요청  호스트가  일치하는 지정된 값을 .

MethodRoutePredicateFactory 요청  방법은  일치하는 지정된 값을 .

PathRoutePredicateFactory 요청  경로가  일치하는 지정된 값을

QueryRoutePredicateFactory 요청  QueryParam이  일치하는 지정된 값을

RemoteAddrRoutePredicateFactory : 요청의 소스 IP  에 지정된 범위 내에서

WeightRoutePredicateFactory : 오른쪽의 지정된 범위 내에

 

 

 

 

 

 

 

 

게시 된 386 개 원래 기사 · 원 찬양 2 · 조회수 9,838

추천

출처blog.csdn.net/kuaipao19950507/article/details/105257200