Commit Graph

66 Commits

Author SHA1 Message Date
Olga Maciaszek-Sharma
da0e06eb7a Add evictor based loadbalancer caching (#644)
* Add Evictor dependency. Implement EvictorCache.

* Add EvictorBasedLoadBalancerCacheManager. Add evictor to starter.

* Set caffeine InitialCapacity from properties.

* Add tests. Add javadocs. Fix creating multiple cache instances.

* Reformat. Change property name. Add documentation.

* Add more tests.

* Move evictor version to parent. Add more tests.

* Ignore .flattened-pom.xml.

* Encapsulate Evictor and switch to non-evictor specific class naming.

* Adjust the docs.

* Fix after code review.
2019-11-25 20:34:19 +01:00
buildmaster
05d936803f Bumping versions 2019-11-22 16:05:59 +00:00
Olga Maciaszek-Sharma
1ddeca4a8e Switch to Spring Boot String to Duration conversion. 2019-11-22 16:49:28 +01:00
Olga Maciaszek-Sharma
bf6b31ee8a caffeine cache for loadbalancer Fix gh 638 (#643)
* Add Caffeine-based loadBalancerCacheManager.

* Add more tests.

* Fix test.

* Only enable loadBalancer caching if caffeine is on classpath. Warn if
caffeine is not on classpath.

* Add javadocs.

* Add docs. Change property name.

* Fix configuration.

* Fix after code review. Add another constructor to CaffeineBasedLoadBalancerCacheManager,
allowing to pass cache name, in order to support alternative ServiceInstanceListSupplierImplementations.
2019-11-22 15:53:57 +01:00
Ryan Baxter
18a4227c4e Added proxyBeanMethods = false to configuration classes. Fixes #623 2019-11-14 20:04:28 -05:00
buildmaster
80a9a38712 Going back to snapshots 2019-11-08 19:57:32 +00:00
buildmaster
9ec71f275e Update SNAPSHOT to 2.2.0.RC2 2019-11-08 19:56:19 +00:00
buildmaster
efcb959e8c Bumping versions 2019-11-07 13:47:04 +00:00
Olga Maciaszek-Sharma
6356d92727 Remove unnecessary debug code. 2019-11-05 22:06:20 +01:00
Olga Maciaszek-Sharma
b1b0ec86a6 Fix gh 619 pass customisers in bean post processors (#627)
* Switch to passing customisers in BeanPostProcessor instead of the
SmartInitializingSingleton.

* Do not instantiate ReactorLoadBalancerExchangeFilterFunction while registering
LB BeanPostProcessor.

* Do not instantiate ReactorLoadBalancerExchangeFilterFunction while registering
LB BeanPostProcessor.

* Extract BeanPostProcessor instantiation to a separate configuration.

* Fix tests.

* Switch to using generics for DeferringLoadBalancerExchangeFilterFunction
and reusing BPP configuration for Ribbon. Add more test assertions.

* Add javadocs.

* Add test verifying LB filters added when WebClient built in constructor.
2019-11-05 15:22:09 +01:00
Olga Maciaszek-Sharma
c437379857 Merge branch '2.1.x'
# Conflicts:
#	spring-cloud-loadbalancer/src/main/java/org/springframework/cloud/loadbalancer/config/BlockingLoadBalancerClientAutoConfiguration.java
2019-10-29 17:48:21 +01:00
Olga Maciaszek-Sharma
b3c4698f99 Make RibbonWarnLogger conditional on loadbalancer.ribbon.enabled=true.
Fixes gh-628
2019-10-29 17:43:06 +01:00
buildmaster
8e2374140a Going back to snapshots 2019-10-24 20:20:04 +00:00
buildmaster
338649716f Update SNAPSHOT to 2.2.0.RC1 2019-10-24 20:18:53 +00:00
Tim Ysewyn
7033a9877f Take first non-empty flux into consideration for composite reactive service discovery 2019-10-23 20:34:15 +02:00
Spencer Gibb
3fe7725fca Removes Objects.requireNonNull() 2019-10-23 14:03:46 -04:00
buildmaster
dd08f97b93 Going back to snapshots 2019-10-03 18:56:14 +00:00
buildmaster
191a2724a4 Update SNAPSHOT to 2.2.0.M3 2019-10-03 18:55:07 +00:00
Tim Ysewyn
c0113c5235 Support reactive discovery client for load balancing 2019-10-03 16:34:58 +02:00
Olga Maciaszek-Sharma
87fa3c7897 Use Ribbon by default. (#609)
* Use Ribbon by default.

* Fix after review.

* Reformat.
2019-09-23 13:51:32 +02:00
Olga Maciaszek-Sharma
da0ce3c4c8 Gh 595 add serviceinstancelistsupplier (#607)
* Add ServiceInstanceListSupplier and its implementations.
Deprecate ServiceInstanceSupplier and its implementations.
Fixes gh-595.

* Switch to non-parameterised type.

* Switch autoConfiguration and tests to new implementation.

* Update docs and javadocs. Remove deprecated TODOs.

* Fix after code review.
2019-09-18 17:56:52 +02:00
Spencer Gibb
d2396bb21a Moves @ConditionalOnClass(RestTemplate.class) to inner class.
Creates test to make sure this works
2019-09-13 14:07:35 -04:00
Olga Maciaszek-Sharma
8bbd4384cc Remove deprecated comment. Move property configuration metadata to
loadbalancer module.
2019-09-12 20:44:09 +02:00
buildmaster
d8b1abe02f Bumping versions to 2.1.4.BUILD-SNAPSHOT after release 2019-09-09 18:22:04 +00:00
buildmaster
fff96f4a8c Going back to snapshots 2019-09-09 18:22:04 +00:00
buildmaster
74ba6c90c2 Update SNAPSHOT to 2.1.3.RELEASE 2019-09-09 18:20:12 +00:00
Olga Maciaszek-Sharma
19bab039a9 Gh 586 loadbalancer starter (#599)
* Add loadbalancer starter. Add property to set BlockingLoadBalancerClient
as default non-reactive loadbalancer. Start working on auto-enabling caching.

* Automatically enable caching. Fixes gh-585.

* Add tests.

* Add reference docs.

* Change property name.
2019-09-09 17:49:46 +02:00
Olga Maciaszek-Sharma
38af35ac37 Fix gh 591 backport lb changes (#597)
* Gh 576 use reactive load balancer (#584)

* Add `ReactorLoadBalancerClient` interface and its default implementation.

* Add initial `ReactorLoadBalancerExchangeFilterFunction` implementation.
Add `ReactorLoadBalancerClientAutoConfiguration`.
Refactor `ReactorLoadBalancerClient` interface and default implementation.

* Implement configuration changes to make default `ReactorLoadBalancer` and
`ReactorLoadBalancerClient` work out of the box with `@LoadBalanced
WebClient.Builder`.

* Add more tests for ReactorLoadBalancerExchangeFilterFunction and
DefaultReactorLoadBalancer.

* Fix configuration. Add tests. Add documentation.

* Add information on caching to the documentation.

* Add fixes after code review.

* Small refactoring after code review.

* Switch from handle(response, sink) to map(response).

* Remove redundant cast.

* Add link to caching in Springboot reference to the docs.

* Add more information on working with spring-cloud-loadbalancer vs. spring-cloud-starter-netflix-ribbon to the docs.

* Fix after code review.

(cherry picked from commit 3f17c0d902)

* Fix gh 491 gh 553 non reactive loadbalancer client (#590)

* Provide non-reactive LB client implemenation to use with RestTemplate.
Fixes gh-491.
Fixes gh-553.

* Add javadoc.

(cherry picked from commit c60df0f18e)

* Backport LoadBalancer changes. Fixes gh-591.

Fix gh 491 gh 553 non reactive loadbalancer client (#590)

* Provide non-reactive LB client implemenation to use with RestTemplate.
Fixes gh-491.
Fixes gh-553.

* Add javadoc.

(cherry picked from commit c60df0f18e)

* Update @since in javadocs after backporting changes to 2.1.x.
2019-09-02 20:38:47 +02:00
buildmaster
41622a6a28 Going back to snapshots 2019-08-14 14:34:03 +00:00
buildmaster
66ac698e1a Update SNAPSHOT to 2.2.0.M2 2019-08-14 14:32:49 +00:00
Olga Maciaszek-Sharma
c60df0f18e Fix gh 491 gh 553 non reactive loadbalancer client (#590)
* Provide non-reactive LB client implemenation to use with RestTemplate.
Fixes gh-491.
Fixes gh-553.

* Add javadoc.
2019-08-12 12:21:38 +02:00
Olga Maciaszek-Sharma
3f17c0d902 Gh 576 use reactive load balancer (#584)
* Add `ReactorLoadBalancerClient` interface and its default implementation.

* Add initial `ReactorLoadBalancerExchangeFilterFunction` implementation.
Add `ReactorLoadBalancerClientAutoConfiguration`.
Refactor `ReactorLoadBalancerClient` interface and default implementation.

* Implement configuration changes to make default `ReactorLoadBalancer` and
`ReactorLoadBalancerClient` work out of the box with `@LoadBalanced
WebClient.Builder`.

* Add more tests for ReactorLoadBalancerExchangeFilterFunction and
DefaultReactorLoadBalancer.

* Fix configuration. Add tests. Add documentation.

* Add information on caching to the documentation.

* Add fixes after code review.

* Small refactoring after code review.

* Switch from handle(response, sink) to map(response).

* Remove redundant cast.

* Add link to caching in Springboot reference to the docs.

* Add more information on working with spring-cloud-loadbalancer vs. spring-cloud-starter-netflix-ribbon to the docs.

* Fix after code review.
2019-08-12 11:40:26 +02:00
buildmaster
2ec67abda1 Going back to snapshots 2019-07-01 14:59:20 +00:00
buildmaster
c622bcc00e Update SNAPSHOT to 2.2.0.M1 2019-07-01 14:58:18 +00:00
Spencer Gibb
23ac3caabe Updates version to 2.1.3 bumps build to 2.1.7 2019-06-21 11:44:03 -04:00
buildmaster
ad4e8d6a29 Bumping versions to 2.1.4.BUILD-SNAPSHOT after release 2019-06-20 16:26:17 +00:00
buildmaster
3d3673ade7 Going back to snapshots 2019-06-20 16:26:17 +00:00
buildmaster
24514b085c Update SNAPSHOT to 2.1.2.RELEASE 2019-06-20 16:23:22 +00:00
buildmaster
c9d42117be Bumping versions to 2.1.3.BUILD-SNAPSHOT after release 2019-06-11 18:38:29 +00:00
buildmaster
a21ed507cb Going back to snapshots 2019-06-11 18:38:29 +00:00
buildmaster
8b5ea85b44 Update SNAPSHOT to 2.1.2.RELEASE 2019-06-11 18:37:07 +00:00
Ryan Baxter
316040ee94 Formatting changes 2019-05-23 19:59:36 -04:00
Spencer Gibb
f9d7124c8b Merge branch '2.1.x' 2019-03-27 12:23:57 -04:00
Spring Operator
8045850e96 URL Cleanup
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).

These URLs were fixed, but the https status was not OK. However, the https status was the same as the http request or http redirected to an https URL, so they were migrated. Your review is recommended.

* [ ] http://a.host (UnknownHostException) with 1 occurrences migrated to:
  https://a.host ([https](https://a.host) result UnknownHostException).
* [ ] http://c.host (UnknownHostException) with 1 occurrences migrated to:
  https://c.host ([https](https://c.host) result UnknownHostException).
* [ ] http://compose.docker.io/ (UnknownHostException) with 1 occurrences migrated to:
  https://compose.docker.io/ ([https](https://compose.docker.io/) result UnknownHostException).
* [ ] http://d.host (UnknownHostException) with 1 occurrences migrated to:
  https://d.host ([https](https://d.host) result UnknownHostException).
* [ ] http://f.host (UnknownHostException) with 1 occurrences migrated to:
  https://f.host ([https](https://f.host) result UnknownHostException).
* [ ] http://g.host (UnknownHostException) with 1 occurrences migrated to:
  https://g.host ([https](https://g.host) result UnknownHostException).
* [ ] http://h.host (UnknownHostException) with 1 occurrences migrated to:
  https://h.host ([https](https://h.host) result UnknownHostException).
* [ ] http://www.puppycrawl.com/dtds/suppressions_1_1.dtd (404) with 1 occurrences migrated to:
  https://www.puppycrawl.com/dtds/suppressions_1_1.dtd ([https](https://www.puppycrawl.com/dtds/suppressions_1_1.dtd) result 404).

These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.

* [ ] http://12factor.net/ with 2 occurrences migrated to:
  https://12factor.net/ ([https](https://12factor.net/) result 200).
* [ ] http://cloud.spring.io/spring-cloud-consul/ with 1 occurrences migrated to:
  https://cloud.spring.io/spring-cloud-consul/ ([https](https://cloud.spring.io/spring-cloud-consul/) result 200).
* [ ] http://cloud.spring.io/spring-cloud-netflix/ with 1 occurrences migrated to:
  https://cloud.spring.io/spring-cloud-netflix/ ([https](https://cloud.spring.io/spring-cloud-netflix/) result 200).
* [ ] http://cloud.spring.io/spring-cloud-zookeeper/ with 1 occurrences migrated to:
  https://cloud.spring.io/spring-cloud-zookeeper/ ([https](https://cloud.spring.io/spring-cloud-zookeeper/) result 200).
* [ ] http://example.com with 1 occurrences migrated to:
  https://example.com ([https](https://example.com) result 200).
* [ ] http://martinfowler.com/bliki/CircuitBreaker.html with 1 occurrences migrated to:
  https://martinfowler.com/bliki/CircuitBreaker.html ([https](https://martinfowler.com/bliki/CircuitBreaker.html) result 200).
* [ ] http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html with 2 occurrences migrated to:
  https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html ([https](https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html) result 200).
* [ ] http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html with 2 occurrences migrated to:
  https://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html ([https](https://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html) result 200).
* [ ] http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html with 2 occurrences migrated to:
  https://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html ([https](https://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html) result 200).
* [ ] http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html with 2 occurrences migrated to:
  https://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html ([https](https://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html) result 200).
* [ ] http://pivotal.io/platform-as-a-service/migrating-to-cloud-native-application-architectures-ebook with 2 occurrences migrated to:
  https://pivotal.io/platform-as-a-service/migrating-to-cloud-native-application-architectures-ebook ([https](https://pivotal.io/platform-as-a-service/migrating-to-cloud-native-application-architectures-ebook) result 301).
* [ ] http://plugins.jetbrains.com/plugin/6546 with 2 occurrences migrated to:
  https://plugins.jetbrains.com/plugin/6546 ([https](https://plugins.jetbrains.com/plugin/6546) result 301).
* [ ] http://projects.spring.io/spring-boot with 2 occurrences migrated to:
  https://projects.spring.io/spring-boot ([https](https://projects.spring.io/spring-boot) result 301).
* [ ] http://eclipse.org with 1 occurrences migrated to:
  https://eclipse.org ([https](https://eclipse.org) result 302).
* [ ] http://eclipse.org/m2e/ with 2 occurrences migrated to:
  https://eclipse.org/m2e/ ([https](https://eclipse.org/m2e/) result 302).
* [ ] http://www.springsource.com/developer/sts with 1 occurrences migrated to:
  https://www.springsource.com/developer/sts ([https](https://www.springsource.com/developer/sts) result 302).

These URLs were intentionally ignored.

* http:///foobar with 1 occurrences
* http://default with 1 occurrences
* http://foo with 7 occurrences
* http://foo_underscore with 1 occurrences
* http://foobar with 1 occurrences
* http://host1:8080 with 2 occurrences
* http://listener with 1 occurrences
* http://localhost with 4 occurrences
* http://localhost:8888 with 1 occurrences
* http://myservice/path/to/service with 1 occurrences
* http://noRetry with 1 occurrences
* http://s1-1:8080 with 5 occurrences
* http://stores with 1 occurrences
* http://stores/stores with 3 occurrences
* http://testservice with 1 occurrences
2019-03-27 12:21:04 -04:00
Spring Operator
6ffcf639f9 URL Cleanup (#538)
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).

# Fixed URLs

## Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.

* [ ] http://maven.apache.org/xsd/maven-4.0.0.xsd with 9 occurrences migrated to:
  https://maven.apache.org/xsd/maven-4.0.0.xsd ([https](https://maven.apache.org/xsd/maven-4.0.0.xsd) result 200).

# Ignored
These URLs were intentionally ignored.

* http://maven.apache.org/POM/4.0.0 with 18 occurrences
* http://www.w3.org/2001/XMLSchema-instance with 9 occurrences
2019-03-26 16:08:14 -04:00
Spring Operator
2a84af80d4 URL Cleanup (#523)
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).

# Fixed URLs

## Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.

* [ ] http://www.apache.org/licenses/ with 1 occurrences migrated to:
  https://www.apache.org/licenses/ ([https](https://www.apache.org/licenses/) result 200).
* [ ] http://www.apache.org/licenses/LICENSE-2.0 with 275 occurrences migrated to:
  https://www.apache.org/licenses/LICENSE-2.0 ([https](https://www.apache.org/licenses/LICENSE-2.0) result 200).
2019-03-26 15:48:29 -04:00
Spring Operator
c76e026c19 URL Cleanup (#522)
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).

# Fixed URLs

## Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.

* [ ] http://www.apache.org/licenses/ with 1 occurrences migrated to:
  https://www.apache.org/licenses/ ([https](https://www.apache.org/licenses/) result 200).
* [ ] http://www.apache.org/licenses/LICENSE-2.0 with 275 occurrences migrated to:
  https://www.apache.org/licenses/LICENSE-2.0 ([https](https://www.apache.org/licenses/LICENSE-2.0) result 200).
2019-03-21 20:30:00 -04:00
Spring Operator
2e8735e412 URL Cleanup (#511)
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).

# Fixed URLs

## Fixed But Review Recommended
These URLs were fixed, but the https status was not OK. However, the https status was the same as the http request or http redirected to an https URL, so they were migrated. Your review is recommended.

* http://www.puppycrawl.com/dtds/suppressions_1_1.dtd (404) with 1 occurrences migrated to:
  https://www.puppycrawl.com/dtds/suppressions_1_1.dtd ([https](https://www.puppycrawl.com/dtds/suppressions_1_1.dtd) result 404).

## Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.

* http://maven.apache.org/xsd/maven-4.0.0.xsd with 9 occurrences migrated to:
  https://maven.apache.org/xsd/maven-4.0.0.xsd ([https](https://maven.apache.org/xsd/maven-4.0.0.xsd) result 200).

# Ignored
These URLs were intentionally ignored.

* http://maven.apache.org/POM/4.0.0 with 18 occurrences
* http://www.w3.org/2001/XMLSchema-instance with 9 occurrences
2019-03-20 10:35:59 -04:00
Marcin Grzejszczak
167a97d390 Bumped commons to 2.2.0 2019-03-07 15:36:37 +01:00
buildmaster
54f496ecef Bumping versions to 2.1.2.BUILD-SNAPSHOT after release 2019-03-05 15:22:36 +00:00