diff --git a/Finchley.M8/index.html b/Finchley.M8/index.html index 6b5b9e65..be841521 100644 --- a/Finchley.M8/index.html +++ b/Finchley.M8/index.html @@ -90,7 +90,7 @@ $(addBlockSwitches);
-

1.3.5.BUILD-SNAPSHOT

+

Finchley.M8

diff --git a/Finchley.M8/multi/multi__client_side_usage_2.html b/Finchley.M8/multi/multi__client_side_usage_2.html index 19195a98..ca3fa6b7 100644 --- a/Finchley.M8/multi/multi__client_side_usage_2.html +++ b/Finchley.M8/multi/multi__client_side_usage_2.html @@ -13,7 +13,7 @@ the test cases). Example Maven configuration:

<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-vault-config</artifactId> - <version>1.3.5.BUILD-SNAPSHOT</version> + <version>Finchley.M8</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> diff --git a/Finchley.M8/multi/multi__spring_cloud_config.html b/Finchley.M8/multi/multi__spring_cloud_config.html index de19730e..fead6810 100644 --- a/Finchley.M8/multi/multi__spring_cloud_config.html +++ b/Finchley.M8/multi/multi__spring_cloud_config.html @@ -1,3 +1,3 @@ - Part II. Spring Cloud Config

Part II. Spring Cloud Config

1.3.5.BUILD-SNAPSHOT

Spring Cloud Config provides server and client-side support for externalized configuration in a distributed system. With the Config Server you have a central place to manage external properties for applications across all environments. The concepts on both client and server map identically to the Spring Environment and PropertySource abstractions, so they fit very well with Spring applications, but can be used with any application running in any language. As an application moves through the deployment pipeline from dev to test and into production you can manage the configuration between those environments and be certain that applications have everything they need to run when they migrate. The default implementation of the server storage backend uses git so it easily supports labelled versions of configuration environments, as well as being accessible to a wide range of tooling for managing the content. It is easy to add alternative implementations and plug them in with Spring configuration.

\ No newline at end of file + Part II. Spring Cloud Config

Part II. Spring Cloud Config

Finchley.M8

Spring Cloud Config provides server and client-side support for externalized configuration in a distributed system. With the Config Server you have a central place to manage external properties for applications across all environments. The concepts on both client and server map identically to the Spring Environment and PropertySource abstractions, so they fit very well with Spring applications, but can be used with any application running in any language. As an application moves through the deployment pipeline from dev to test and into production you can manage the configuration between those environments and be certain that applications have everything they need to run when they migrate. The default implementation of the server storage backend uses git so it easily supports labelled versions of configuration environments, as well as being accessible to a wide range of tooling for managing the content. It is easy to add alternative implementations and plug them in with Spring configuration.

\ No newline at end of file diff --git a/Finchley.M8/multi/multi__spring_cloud_consul.html b/Finchley.M8/multi/multi__spring_cloud_consul.html index 71355c3c..56327902 100644 --- a/Finchley.M8/multi/multi__spring_cloud_consul.html +++ b/Finchley.M8/multi/multi__spring_cloud_consul.html @@ -1,6 +1,6 @@ - Part IX. Spring Cloud Consul

Part IX. Spring Cloud Consul

1.3.5.BUILD-SNAPSHOT

This project provides Consul integrations for Spring Boot apps through autoconfiguration + Part IX. Spring Cloud Consul

Part IX. Spring Cloud Consul

Finchley.M8

This project provides Consul integrations for Spring Boot apps through autoconfiguration and binding to the Spring Environment and other Spring programming model idioms. With a few simple annotations you can quickly enable and configure the common patterns inside your application and build large distributed systems with Consul based components. The diff --git a/Finchley.M8/multi/multi__spring_cloud_contract.html b/Finchley.M8/multi/multi__spring_cloud_contract.html index d69e2401..bcaa0800 100644 --- a/Finchley.M8/multi/multi__spring_cloud_contract.html +++ b/Finchley.M8/multi/multi__spring_cloud_contract.html @@ -1,4 +1,4 @@ Part XIII. Spring Cloud Contract

Part XIII. Spring Cloud Contract

_Documentation Authors: Adam Dudczak, Mathias Düsterhöft, Marcin Grzejszczak, Dennis Kieselhorst, Jakub Kubryński, Karol Lassak, -Olga Maciaszek-Sharma, Mariusz Smykuła, Dave Syer, Jay Bryant

1.3.5.BUILD-SNAPSHOT

\ No newline at end of file +Olga Maciaszek-Sharma, Mariusz Smykuła, Dave Syer, Jay Bryant

Finchley.M8

\ No newline at end of file diff --git a/Finchley.M8/multi/multi__spring_cloud_gateway.html b/Finchley.M8/multi/multi__spring_cloud_gateway.html index a175cc23..5ab139bc 100644 --- a/Finchley.M8/multi/multi__spring_cloud_gateway.html +++ b/Finchley.M8/multi/multi__spring_cloud_gateway.html @@ -1,3 +1,3 @@ - Part XV. Spring Cloud Gateway

Part XV. Spring Cloud Gateway

1.3.5.BUILD-SNAPSHOT

This project provides an API Gateway built on top of the Spring Ecosystem, including: Spring 5, Spring Boot 2 and Project Reactor. Spring Cloud Gateway aims to provide a simple, yet effective way to route to APIs and provide cross cutting concerns to them such as: security, monitoring/metrics, and resiliency.

\ No newline at end of file + Part XV. Spring Cloud Gateway

Part XV. Spring Cloud Gateway

Finchley.M8

This project provides an API Gateway built on top of the Spring Ecosystem, including: Spring 5, Spring Boot 2 and Project Reactor. Spring Cloud Gateway aims to provide a simple, yet effective way to route to APIs and provide cross cutting concerns to them such as: security, monitoring/metrics, and resiliency.

\ No newline at end of file diff --git a/Finchley.M8/multi/multi__spring_cloud_netflix.html b/Finchley.M8/multi/multi__spring_cloud_netflix.html index 874cb141..ce561603 100644 --- a/Finchley.M8/multi/multi__spring_cloud_netflix.html +++ b/Finchley.M8/multi/multi__spring_cloud_netflix.html @@ -1,6 +1,6 @@ - Part III. Spring Cloud Netflix

Part III. Spring Cloud Netflix

1.3.5.BUILD-SNAPSHOT

This project provides Netflix OSS integrations for Spring Boot apps through autoconfiguration + Part III. Spring Cloud Netflix

Part III. Spring Cloud Netflix

Finchley.M8

This project provides Netflix OSS integrations for Spring Boot apps through autoconfiguration and binding to the Spring Environment and other Spring programming model idioms. With a few simple annotations you can quickly enable and configure the common patterns inside your application and build large distributed systems with battle-tested Netflix components. The diff --git a/Finchley.M8/multi/multi__spring_cloud_openfeign.html b/Finchley.M8/multi/multi__spring_cloud_openfeign.html index 3017f297..46f47688 100644 --- a/Finchley.M8/multi/multi__spring_cloud_openfeign.html +++ b/Finchley.M8/multi/multi__spring_cloud_openfeign.html @@ -1,4 +1,4 @@ - Part IV. Spring Cloud OpenFeign

Part IV. Spring Cloud OpenFeign

1.3.5.BUILD-SNAPSHOT

This project provides OpenFeign integrations for Spring Boot apps through autoconfiguration + Part IV. Spring Cloud OpenFeign

Part IV. Spring Cloud OpenFeign

Finchley.M8

This project provides OpenFeign integrations for Spring Boot apps through autoconfiguration and binding to the Spring Environment and other Spring programming model idioms.

\ No newline at end of file diff --git a/Finchley.M8/multi/multi__spring_cloud_sleuth.html b/Finchley.M8/multi/multi__spring_cloud_sleuth.html index 80e49a5e..a83aba2b 100644 --- a/Finchley.M8/multi/multi__spring_cloud_sleuth.html +++ b/Finchley.M8/multi/multi__spring_cloud_sleuth.html @@ -1,3 +1,3 @@ - Part VIII. Spring Cloud Sleuth

Part VIII. Spring Cloud Sleuth

Adrian Cole, Spencer Gibb, Marcin Grzejszczak, Dave Syer

1.3.5.BUILD-SNAPSHOT

\ No newline at end of file + Part VIII. Spring Cloud Sleuth

Part VIII. Spring Cloud Sleuth

Adrian Cole, Spencer Gibb, Marcin Grzejszczak, Dave Syer

Finchley.M8

\ No newline at end of file diff --git a/Finchley.M8/multi/multi_pr01.html b/Finchley.M8/multi/multi_pr01.html index c1944f54..c880d1ad 100644 --- a/Finchley.M8/multi/multi_pr01.html +++ b/Finchley.M8/multi/multi_pr01.html @@ -8,4 +8,4 @@ distributed systems leads to boiler plate patterns, and using Spring Cloud developers can quickly stand up services and applications that implement those patterns. They will work well in any distributed environment, including the developer’s own laptop, bare metal data -centres, and managed platforms such as Cloud Foundry.

Version: 1.3.5.BUILD-SNAPSHOT

\ No newline at end of file +centres, and managed platforms such as Cloud Foundry.

Version: Finchley.M8

\ No newline at end of file diff --git a/Finchley.M8/multi/multi_vault.config.backends.database-backends.html b/Finchley.M8/multi/multi_vault.config.backends.database-backends.html index 17f6eb58..a06bf328 100644 --- a/Finchley.M8/multi/multi_vault.config.backends.database-backends.html +++ b/Finchley.M8/multi/multi_vault.config.backends.database-backends.html @@ -13,7 +13,7 @@ backend path, e.g. spring.cloud.vault.mysql.role.backend=d <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-vault-config-databases</artifactId> - <version>1.3.5.BUILD-SNAPSHOT</version> + <version>Finchley.M8</version> </dependency> </dependencies>

[Note]Note

Enabling multiple JDBC-compliant databases will generate credentials and store them by default in the same property keys hence property names for diff --git a/Finchley.M8/multi/multi_vault.config.backends.html b/Finchley.M8/multi/multi_vault.config.backends.html index 6007d66d..8bd70c58 100644 --- a/Finchley.M8/multi/multi_vault.config.backends.html +++ b/Finchley.M8/multi/multi_vault.config.backends.html @@ -26,7 +26,7 @@ dependency.

<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-vault-config-consul</artifactId> - <version>1.3.5.BUILD-SNAPSHOT</version> + <version>Finchley.M8</version> </dependency> </dependencies>


The integration can be enabled by setting spring.cloud.vault.consul.enabled=true (default false) and @@ -43,7 +43,7 @@ dependency.

<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-vault-config-rabbitmq</artifactId> - <version>1.3.5.BUILD-SNAPSHOT</version> + <version>Finchley.M8</version> </dependency> </dependencies>


The integration can be enabled by setting spring.cloud.vault.rabbitmq.enabled=true (default false) @@ -62,7 +62,7 @@ dependency.

<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-vault-config-aws</artifactId> - <version>1.3.5.BUILD-SNAPSHOT</version> + <version>Finchley.M8</version> </dependency> </dependencies>


The integration can be enabled by setting spring.cloud.vault.aws=true (default false) diff --git a/Finchley.M8/single/spring-cloud.html b/Finchley.M8/single/spring-cloud.html index dc6589d0..de9c9fff 100644 --- a/Finchley.M8/single/spring-cloud.html +++ b/Finchley.M8/single/spring-cloud.html @@ -8,7 +8,7 @@ distributed systems leads to boiler plate patterns, and using Spring Cloud developers can quickly stand up services and applications that implement those patterns. They will work well in any distributed environment, including the developer’s own laptop, bare metal data -centres, and managed platforms such as Cloud Foundry.

Version: 1.3.5.BUILD-SNAPSHOT

1. Features

Spring Cloud focuses on providing good out of box experience for typical use cases +centres, and managed platforms such as Cloud Foundry.

Version: Finchley.M8

1. Features

Spring Cloud focuses on providing good out of box experience for typical use cases and extensibility mechanism to cover others.

  • Distributed/versioned configuration
  • Service registration and discovery
  • Routing
  • Service-to-service calls
  • Load balancing
  • Circuit Breakers
  • Distributed messaging

Part I. Cloud Native Applications

Cloud Native is a style of application development that encourages easy adoption of best practices in the areas of continuous delivery and value-driven development. A related discipline is that of building 12-factor Applications, in which development practices are aligned with delivery and operations goals — for instance, by using declarative programming and management and monitoring. Spring Cloud facilitates these styles of development in a number of specific ways. @@ -308,7 +308,7 @@ HasFeatures localFeatures() { .namedFeature(new NamedFeature("Bar Feature", Bar.class)) .abstractFeature(Baz.class) .build(); -}

Each of these beans should go in an appropriately guarded @Configuration.

Part II. Spring Cloud Config

1.3.5.BUILD-SNAPSHOT

Spring Cloud Config provides server and client-side support for externalized configuration in a distributed system. With the Config Server you have a central place to manage external properties for applications across all environments. The concepts on both client and server map identically to the Spring Environment and PropertySource abstractions, so they fit very well with Spring applications, but can be used with any application running in any language. As an application moves through the deployment pipeline from dev to test and into production you can manage the configuration between those environments and be certain that applications have everything they need to run when they migrate. The default implementation of the server storage backend uses git so it easily supports labelled versions of configuration environments, as well as being accessible to a wide range of tooling for managing the content. It is easy to add alternative implementations and plug them in with Spring configuration.

4. Quick Start

Start the server:

$ cd spring-cloud-config-server
+}

Each of these beans should go in an appropriately guarded @Configuration.

Part II. Spring Cloud Config

Finchley.M8

Spring Cloud Config provides server and client-side support for externalized configuration in a distributed system. With the Config Server you have a central place to manage external properties for applications across all environments. The concepts on both client and server map identically to the Spring Environment and PropertySource abstractions, so they fit very well with Spring applications, but can be used with any application running in any language. As an application moves through the deployment pipeline from dev to test and into production you can manage the configuration between those environments and be certain that applications have everything they need to run when they migrate. The default implementation of the server storage backend uses git so it easily supports labelled versions of configuration environments, as well as being accessible to a wide range of tooling for managing the content. It is easy to add alternative implementations and plug them in with Spring configuration.

4. Quick Start

Start the server:

$ cd spring-cloud-config-server
 $ ../mvnw spring-boot:run

The server is a Spring Boot application so you can run it from your IDE instead if you prefer (the main class is ConfigServerApplication). Then try out a client:

$ curl localhost:8888/foo/development
@@ -1210,7 +1210,7 @@ in bootstrap.yml.

bootstrap.yml.  token: YourVaultToken

10.7 Vault

10.7.1 Nested Keys In Vault

Vault supports the ability to nest keys in a value stored in Vault. For example

echo -n '{"appA": {"secret": "appAsecret"}, "bar": "baz"}' | vault write secret/myapp -

This command will write a JSON object to your Vault. To access these values in Spring you would use the traditional dot(.) annotation. For example

@Value("${appA.secret}")
-String name = "World";

The above code would set the name variable to appAsecret.

Part III. Spring Cloud Netflix

1.3.5.BUILD-SNAPSHOT

This project provides Netflix OSS integrations for Spring Boot apps through autoconfiguration +String name = "World";

The above code would set the name variable to appAsecret.

Part III. Spring Cloud Netflix

Finchley.M8

This project provides Netflix OSS integrations for Spring Boot apps through autoconfiguration and binding to the Spring Environment and other Spring programming model idioms. With a few simple annotations you can quickly enable and configure the common patterns inside your application and build large distributed systems with battle-tested Netflix components. The @@ -2368,7 +2368,7 @@ Zuul for you. However you can also provide your own HTTP clients customized how yourself. To do this you can either create a bean of type ClosableHttpClient if you are using the Apache Http Cient, or OkHttpClient if you are using OK HTTP.

[Note]Note

When you create your own HTTP client you are also responsible for implementing the correct connection management strategies for these clients. Doing this improperly -can result in resource management issues.

Part IV. Spring Cloud OpenFeign

1.3.5.BUILD-SNAPSHOT

This project provides OpenFeign integrations for Spring Boot apps through autoconfiguration +can result in resource management issues.

Part IV. Spring Cloud OpenFeign

Finchley.M8

This project provides OpenFeign integrations for Spring Boot apps through autoconfiguration and binding to the Spring Environment and other Spring programming model idioms.

23. Declarative REST Client: Feign

Feign is a declarative web service client. It makes writing web service clients easier. To use Feign create an interface and annotate it. It has pluggable annotation support including Feign annotations and JAX-RS annotations. Feign also supports pluggable encoders and decoders. Spring Cloud adds support for Spring MVC annotations and for using the same HttpMessageConverters used by default in Spring Web. Spring Cloud integrates Ribbon and Eureka to provide a load balanced http client when using Feign.

23.1 How to Include Feign

To include Feign in your project use the starter with group org.springframework.cloud and artifact id spring-cloud-starter-openfeign. See the Spring Cloud Project page for details on setting up your build system with the current Spring Cloud Release Train.

Example spring boot app

@SpringBootApplication
@@ -4602,7 +4602,7 @@ package of BusConfiguration.

You can also exp }

All examples of @RemoteApplicationEventScan above are equivalent, in that the com.acme package will be registered by explicitly specifying the packages on @RemoteApplicationEventScan. Note, you can specify multiple base -packages to scan.

Part VIII. Spring Cloud Sleuth

Adrian Cole, Spencer Gibb, Marcin Grzejszczak, Dave Syer

1.3.5.BUILD-SNAPSHOT

47. Introduction

Spring Cloud Sleuth implements a distributed tracing solution for Spring Cloud.

47.1 Terminology

Spring Cloud Sleuth borrows Dapper’s terminology.

Span: The basic unit of work. For example, sending an RPC is a new span, as is sending a response to an +packages to scan.

Part VIII. Spring Cloud Sleuth

Adrian Cole, Spencer Gibb, Marcin Grzejszczak, Dave Syer

Finchley.M8

47. Introduction

Spring Cloud Sleuth implements a distributed tracing solution for Spring Cloud.

47.1 Terminology

Spring Cloud Sleuth borrows Dapper’s terminology.

Span: The basic unit of work. For example, sending an RPC is a new span, as is sending a response to an RPC. Span’s are identified by a unique 64-bit ID for the span and another 64-bit ID for the trace the span is a part of. Spans also have other data, such as descriptions, timestamped events, key-value annotations (tags), the ID of the span that caused them, and process ID’s (normally IP address).

Spans are started and stopped, and they keep track of their timing information. Once you create a @@ -5470,7 +5470,7 @@ subscribe events. To disable Spring Integration instrumentation, set

[Important]Important

When using the Executor to build a Spring Integration IntegrationFlow remember to use the untraced version of the Executor. Decorating Spring Integration Executor Channel with TraceableExecutorService will cause the spans to be improperly closed.

61.10 Zuul

We’re instrumenting the Zuul Ribbon integration by enriching the Ribbon requests with tracing information. -To disable Zuul support set the spring.sleuth.zuul.enabled property to false.

62. Running examples

You can find the running examples deployed in the Pivotal Web Services. Check them out in the following links:

Part IX. Spring Cloud Consul

1.3.5.BUILD-SNAPSHOT

This project provides Consul integrations for Spring Boot apps through autoconfiguration +To disable Zuul support set the spring.sleuth.zuul.enabled property to false.

62. Running examples

You can find the running examples deployed in the Pivotal Web Services. Check them out in the following links:

Part IX. Spring Cloud Consul

Finchley.M8

This project provides Consul integrations for Spring Boot apps through autoconfiguration and binding to the Spring Environment and other Spring programming model idioms. With a few simple annotations you can quickly enable and configure the common patterns inside your application and build large distributed systems with Consul based components. The @@ -5951,7 +5951,7 @@ service called "sso", for instance, with credentials containing automatically to the Spring OAuth2 client that you enable with @EnableOAuth2Sso (from Spring Boot). The name of the service can be parameterized using spring.oauth2.sso.serviceId.

Part XIII. Spring Cloud Contract

_Documentation Authors: Adam Dudczak, Mathias Düsterhöft, Marcin Grzejszczak, Dennis Kieselhorst, Jakub Kubryński, Karol Lassak, -Olga Maciaszek-Sharma, Mariusz Smykuła, Dave Syer, Jay Bryant

1.3.5.BUILD-SNAPSHOT

83. Spring Cloud Contract

You need confidence when pushing new features to a new application or service in a +Olga Maciaszek-Sharma, Mariusz Smykuła, Dave Syer, Jay Bryant

Finchley.M8

83. Spring Cloud Contract

You need confidence when pushing new features to a new application or service in a distributed system. This project provides support for Consumer Driven Contracts and service schemas in Spring applications (for both HTTP and message-based interactions), covering a range of options for writing tests, publishing them as assets, and asserting @@ -11525,7 +11525,7 @@ the test cases). Example Maven configuration:

<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-vault-config</artifactId> - <version>1.3.5.BUILD-SNAPSHOT</version> + <version>Finchley.M8</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> @@ -11738,7 +11738,7 @@ dependency.

<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-vault-config-consul</artifactId> - <version>1.3.5.BUILD-SNAPSHOT</version> + <version>Finchley.M8</version> </dependency> </dependencies>


The integration can be enabled by setting spring.cloud.vault.consul.enabled=true (default false) and @@ -11755,7 +11755,7 @@ dependency.

<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-vault-config-rabbitmq</artifactId> - <version>1.3.5.BUILD-SNAPSHOT</version> + <version>Finchley.M8</version> </dependency> </dependencies>


The integration can be enabled by setting spring.cloud.vault.rabbitmq.enabled=true (default false) @@ -11774,7 +11774,7 @@ dependency.

<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-vault-config-aws</artifactId> - <version>1.3.5.BUILD-SNAPSHOT</version> + <version>Finchley.M8</version> </dependency> </dependencies>


The integration can be enabled by setting spring.cloud.vault.aws=true (default false) @@ -11801,7 +11801,7 @@ backend path, e.g. spring.cloud.vault.mysql.role.backend=d <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-vault-config-databases</artifactId> - <version>1.3.5.BUILD-SNAPSHOT</version> + <version>Finchley.M8</version> </dependency> </dependencies>


[Note]Note

Enabling multiple JDBC-compliant databases will generate credentials and store them by default in the same property keys hence property names for @@ -11951,7 +11951,7 @@ to false. This is not recommended as leases can exp Spring Cloud Vault cannot longer access Vault or services using generated credentials and valid credentials remain active after application shutdown.

spring.cloud.vault:
-    config.lifecycle.enabled: true

See also: Vault Documentation: Lease, Renew, and Revoke

Part XV. Spring Cloud Gateway

1.3.5.BUILD-SNAPSHOT

This project provides an API Gateway built on top of the Spring Ecosystem, including: Spring 5, Spring Boot 2 and Project Reactor. Spring Cloud Gateway aims to provide a simple, yet effective way to route to APIs and provide cross cutting concerns to them such as: security, monitoring/metrics, and resiliency.

106. How to Include Spring Cloud Gateway

To include Spring Cloud Gateway in your project use the starter with group org.springframework.cloud + config.lifecycle.enabled: true

See also: Vault Documentation: Lease, Renew, and Revoke

Part XV. Spring Cloud Gateway

Finchley.M8

This project provides an API Gateway built on top of the Spring Ecosystem, including: Spring 5, Spring Boot 2 and Project Reactor. Spring Cloud Gateway aims to provide a simple, yet effective way to route to APIs and provide cross cutting concerns to them such as: security, monitoring/metrics, and resiliency.

106. How to Include Spring Cloud Gateway

To include Spring Cloud Gateway in your project use the starter with group org.springframework.cloud and artifact id spring-cloud-starter-gateway. See the Spring Cloud Project page for details on setting up your build system with the current Spring Cloud Release Train.

If you include the starter, but, for some reason, you do not want the gateway to be enabled, set spring.cloud.gateway.enabled=false.

107. Glossary

  • Route: Route the basic building block of the gateway. It is defined by an ID, a destination URI, a collection of predicates and a collection of filters. A route is matched if aggregate predicate is true.
  • Predicate: This is a Java 8 Function Predicate. The input type is a Spring Framework ServerWebExchange. This allows developers to match on anything from the HTTP request, such as headers or parameters.
  • Filter: These are instances Spring Framework GatewayFilter constructed in with a specific factory. Here, requests and responses can be modified before or after sending the downstream request.

108. How It Works

Spring Cloud Gateway Diagram

Clients make requests to Spring Cloud Gateway. If the Gateway Handler Mapping determines that a request matches a Route, it is sent to the Gateway Web Handler. This handler runs sends the request through a filter chain that is specific to the request. The reason the filters are divided by the dotted line, is that filters may execute logic before the proxy request is sent or after. All "pre" filter logic is executed, then the proxy request is made. After the proxy request is made, the "post" filter logic is executed.

[Note]Note

URIs defined in routes without a port will get a default port set to 80 and 443 for HTTP and HTTPS URIs respectively.

109. Route Predicate Factories

Spring Cloud Gateway matches routes as part of the Spring WebFlux HandlerMapping infrastructure. Spring Cloud Gateway includes many built-in Route Predicate Factories. All of these predicates match on different attributes of the HTTP request. Multiple Route Predicate Factories can be combined and are combined via logical and.

109.1 After Route Predicate Factory

The After Route Predicate Factory takes one parameter, a datetime. This predicate matches requests that happen after the current datetime.

application.yml. 

spring:
diff --git a/Finchley.M8/spring-cloud.xml b/Finchley.M8/spring-cloud.xml
index 8af16146..8c618f2b 100644
--- a/Finchley.M8/spring-cloud.xml
+++ b/Finchley.M8/spring-cloud.xml
@@ -17,7 +17,7 @@ Cloud developers can quickly stand up services and applications that
 implement those patterns. They will work well in any distributed
 environment, including the developer’s own laptop, bare metal data
 centres, and managed platforms such as Cloud Foundry.
-Version: 1.3.5.BUILD-SNAPSHOT
+Version: Finchley.M8
 
 
 Features
@@ -603,7 +603,7 @@ HasFeatures localFeatures() {
 
 Spring Cloud Config
 
-1.3.5.BUILD-SNAPSHOT
+Finchley.M8
 Spring Cloud Config provides server and client-side support for externalized configuration in a distributed system. With the Config Server you have a central place to manage external properties for applications across all environments. The concepts on both client and server map identically to the Spring Environment and PropertySource abstractions, so they fit very well with Spring applications, but can be used with any application running in any language. As an application moves through the deployment pipeline from dev to test and into production you can manage the configuration between those environments and be certain that applications have everything they need to run when they migrate. The default implementation of the server storage backend uses git so it easily supports labelled versions of configuration environments, as well as being accessible to a wide range of tooling for managing the content.  It is easy to add alternative implementations and plug them in with Spring configuration.
 
 
@@ -2094,7 +2094,7 @@ String name = "World";
 
 Spring Cloud Netflix
 
-1.3.5.BUILD-SNAPSHOT
+Finchley.M8
 This project provides Netflix OSS integrations for Spring Boot apps through autoconfiguration
 and binding to the Spring Environment and other Spring programming model idioms. With a few
 simple annotations you can quickly enable and configure the common patterns inside your
@@ -4138,7 +4138,7 @@ can result in resource management issues.
 
 Spring Cloud OpenFeign
 
-1.3.5.BUILD-SNAPSHOT
+Finchley.M8
 This project provides OpenFeign integrations for Spring Boot apps through autoconfiguration
 and binding to the Spring Environment and other Spring programming model idioms.
 
@@ -9594,7 +9594,7 @@ packages to scan.
 Spring Cloud Sleuth
 
 Adrian Cole, Spencer Gibb, Marcin Grzejszczak, Dave Syer
-1.3.5.BUILD-SNAPSHOT
+Finchley.M8
 
 
 Introduction
@@ -11457,7 +11457,7 @@ To disable Zuul support set the spring.sleuth.zuul.enabled pr
 
 Spring Cloud Consul
 
-1.3.5.BUILD-SNAPSHOT
+Finchley.M8
 This project provides Consul integrations for Spring Boot apps through autoconfiguration
 and binding to the Spring Environment and other Spring programming model idioms. With a few
 simple annotations you can quickly enable and configure the common patterns inside your
@@ -12530,7 +12530,7 @@ parameterized using spring.oauth2.sso.serviceId.
 
 _Documentation Authors: Adam Dudczak, Mathias Düsterhöft, Marcin Grzejszczak, Dennis Kieselhorst, Jakub Kubryński, Karol Lassak,
 Olga Maciaszek-Sharma, Mariusz Smykuła, Dave Syer, Jay Bryant
-1.3.5.BUILD-SNAPSHOT
+Finchley.M8
 
 
 Spring Cloud Contract
@@ -21327,7 +21327,7 @@ the test cases). Example Maven configuration:
     <dependency>
         <groupId>org.springframework.cloud</groupId>
         <artifactId>spring-cloud-starter-vault-config</artifactId>
-        <version>1.3.5.BUILD-SNAPSHOT</version>
+        <version>Finchley.M8</version>
     </dependency>
     <dependency>
         <groupId>org.springframework.boot</groupId>
@@ -22051,7 +22051,7 @@ dependency.
     <dependency>
         <groupId>org.springframework.cloud</groupId>
         <artifactId>spring-cloud-vault-config-consul</artifactId>
-        <version>1.3.5.BUILD-SNAPSHOT</version>
+        <version>Finchley.M8</version>
     </dependency>
 </dependencies>
 
@@ -22097,7 +22097,7 @@ dependency.
     <dependency>
         <groupId>org.springframework.cloud</groupId>
         <artifactId>spring-cloud-vault-config-rabbitmq</artifactId>
-        <version>1.3.5.BUILD-SNAPSHOT</version>
+        <version>Finchley.M8</version>
     </dependency>
 </dependencies>
 
@@ -22148,7 +22148,7 @@ dependency.
     <dependency>
         <groupId>org.springframework.cloud</groupId>
         <artifactId>spring-cloud-vault-config-aws</artifactId>
-        <version>1.3.5.BUILD-SNAPSHOT</version>
+        <version>Finchley.M8</version>
     </dependency>
 </dependencies>
 
@@ -22227,7 +22227,7 @@ backend path, e.g. spring.cloud.vault.mysql.role.backend=database
 
@@ -22588,7 +22588,7 @@ after application shutdown.
 
 Spring Cloud Gateway
 
-1.3.5.BUILD-SNAPSHOT
+Finchley.M8
 This project provides an API Gateway built on top of the Spring Ecosystem, including: Spring 5, Spring Boot 2 and Project Reactor. Spring Cloud Gateway aims to provide a simple, yet effective way to route to APIs and provide cross cutting concerns to them such as: security, monitoring/metrics, and resiliency.