スプリングクラウドゲートウェイルーティングゲートウェイのソースコード解析03 02

CompositeRouteLocator 組み合わせの様々な  RouteLocator実装クラス、RoutePredicateHandlerMapping提供統一入学アクセスルートを

CachingRouteLocator 、キャッシュは RouteLocator実装クラスをルーティングします。コールCachingRouteLocatorをRoutePredicateHandlerMapping  RouteLocator#getRoutes() ルートを取得する方法。

キャッシュのリフレッシュ

 

RouteDefinitionRouteLocator 获取路由route

1.まず、RouteDefinitionを取得し、その後、convertToRouteルート、フィルタに変換呼び出すと、対応する述語を追加

取得述語で2ルック

   

  2.1例外をスローよりも取得するには、ローカルキャッシュファクトリの取得を開始

  2.2その後、設定の工場出荷時の設定をロードします

  

2.3、キャッシュしない場合は、既存のキャッシュをゲット述語にHTTPリクエストを構築

 

3.取得フィルターフィルター  

   3.1は、デフォルトのフィルタdefaultFiltersを追加します

   さらに、フィルタ構成の3.2添加

 

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

工場関連のルーティング、継承グラフは、以下

コアインタフェースとしてRoutePredicateFactory、routePredicateを作成し、以下の方法を適用します

AfterRoutePredicateFactory要求時間の設定時に満たした後、 

BeforeRoutePredicateFactory要求時間の設定時に満たす前に

BetweenRoutePredicateFactory要求時刻時間が配置満たす

CloudFoundryRouteServiceRoutePredicateFactoryのPaaSクラウドプラットフォーム

CookieRoutePredicateFactory要求は、Cookieの指定された  定期的な試合に指定された値を

HeaderRoutePredicateFactory要求は、Cookieの指定された  定期的な試合に指定された値を

HostRoutePredicateFactory要求の  ホストが  一致して指定された値を

MethodRoutePredicateFactoryリクエスト  メソッドは  一致した規定値を

PathRoutePredicateFactory要求  パスが  一致して指定された値を

QueryRoutePredicateFactory要求  QueryParamは  一致して指定された値を

RemoteAddrRoutePredicateFactory:要求元IP  で指定された範囲内

WeightRoutePredicateFactory:右の指定した範囲内にあります

 

 

 

 

 

 

 

 

公開された386元の記事 ウォンの賞賛2 ビュー9838

おすすめ

転載: blog.csdn.net/kuaipao19950507/article/details/105257200