Commit Graph

2845 Commits

Author SHA1 Message Date
Roy Clarkson
e1b6ddf563 Format whitespace 2015-04-13 08:40:15 -05:00
Johannes Stelzer
242419726d Exclude mockito-all from zuul-core and turbine-core
However turbine and zuul are depending on mockito-all in compile-scope. Not only I want to get rid of these (usually) test-dependencies, but also mockito-all contains some hamcrest-classes (in older versions) getting in conflict with the classes from spring-test
2015-04-11 16:59:19 +02:00
Spencer Gibb
3794213aaf add a note about the Spring Cloud DiscoveryClient.
fixes gh-276
2015-04-06 15:12:38 -06:00
Johannes Stelzer
6a0737dacf Example of static, loadbalanced Zuul configuration
It took me quite a bit, to figure out how to configure Zuul to use a loadbalanced route without Eureka. I hope this short explicit example will clarify it for other people.
2015-04-02 20:33:05 +02:00
Dave Syer
873854810a Fix eureka instance metadata in Cloud Foundry example 2015-04-02 13:45:05 +01:00
Dave Syer
555b1f1c06 Use UrlPathHelper to determine the current url path in Zuul
If the app has a context path then the route locator does not match
the whole requestURI (as provided by the raw servlet API), but Spring
has a utility for stripping it off, so we can just use that.

Fixes gh-270
2015-04-01 12:05:05 +01:00
Dave Syer
5961931caf Make /error path a special case in ZuulHandlerMapping
If there is a default route (/**) then the ZuulHandlerMapping will
mask the /error path in a normal Spring Boot application. This change
makes it a special case so that ZuulHandlerMapping will never map
the /error route (the one specified by the ErrorController).

Fixes gh-284
2015-04-01 11:50:33 +01:00
Spencer Gibb
814f7e9283 added warn logging to hystrix dashboard proxy servlet 2015-03-27 10:57:03 -06:00
Spencer Gibb
20bb1af655 added debug logging to hystrix dashboard proxy servlet 2015-03-27 10:11:53 -06:00
Roy Clarkson
370ce804e3 Update docs to use @EnableCircuitBreaker 2015-03-27 10:44:06 -05:00
Spencer Gibb
2d18706219 updated to use RestTemplateCustomizer 2015-03-26 11:45:37 -06:00
Spencer Gibb
8bfef044d2 fixed bad class name 2015-03-26 11:45:37 -06:00
Spencer Gibb
28db47c72a move RibbonClientHttpRequestFactory to configuration conditional on netflix httpclient classes 2015-03-26 11:45:37 -06:00
Spencer Gibb
55d46eb6c7 add support for ribbon http client in RestTemplate.
fixes gh-280
2015-03-26 11:45:37 -06:00
Dave Syer
5f9c3e6073 Ensure management.port=-1 switches off actuator endpoints in turbine 2015-03-26 09:37:50 +00:00
Dave Syer
3714cee51d Clarify impact of @ComponentScan on @RibbonClient
Fixes gh-281
2015-03-26 09:36:27 +00:00
Dave Syer
d0021f0415 Clarify turbine config
Also fixes gh-277 (metioning starters explicitly).
2015-03-25 09:42:00 +00:00
Spencer Gibb
f5b6c58f30 upgrade hystrix to 1.4.1
fixes gh-279
2015-03-24 13:44:29 -06:00
Spencer Gibb
f0d8c86b51 Only call shutdown() if DiscoveryClient is not null.
fixes spring-cloud-samples/tests/issues/2
2015-03-24 13:21:46 -06:00
unknown
76d0c018ee Ensure ZuulProperties.servletPath is applied to routes
Fixes gh-271, fixes gh-272
2015-03-24 13:17:43 +00:00
Dave Syer
e60a0fc4fb Re-initialize DiscoveryClient if config client is in "eureka-first"
This was kind of ugly, and caused a static usage of the eureka
DiscoveryCLient to become necessary again, just so the @Bean that is
provided for the user stays accurate (it has to be the one in the main
application context, even if the parent boot strap has different
instance metadata).

I tested with a vanilla Eureka server and config server, and used the
client in tests/eureka-first.

Fixes gh-268
2015-03-23 16:53:50 +00:00
boostrack
9dc2821bc9 Small fixes to typos in docs
Fixes gh-274
2015-03-21 12:43:07 +00:00
Spencer Gibb
924363ca1c Sidecar reports true non-jvm app status to eureka.
Added a LocalApplicationHealthCheckHandler that checks the local app and sends the appropriate status to eureka.

fixes gh-251
2015-03-20 13:25:58 -06:00
Spencer Gibb
3515112cb2 move RestTemplate docs to s-c-commons 2015-03-20 13:00:19 -06:00
Dave Syer
cdc5681694 Clarify role of filter beans in @EnableZuulProxy 2015-03-20 14:48:39 +00:00
Dave Syer
3ba7cfbff2 Add link to github in rendered docs 2015-03-20 11:47:28 +00:00
Dave Syer
1c54e6b937 Add annotation processor 2015-03-20 11:47:27 +00:00
Spencer Gibb
869e3ec92f upgrade to feign 8.1.0
removes ugly dagger dependency

fixes gh-183
2015-03-19 12:13:11 -06:00
Spencer Gibb
edbb0acc7c Merge pull request #266 from warmuuh/patch-1
updated documentation of HystrixHealthIndicator
2015-03-19 11:20:47 -04:00
Peter
98ac81bda2 updated documentation of HystrixHealthIndicator
documentation was not conform to specified behavior as in #24
2015-03-19 14:43:12 +01:00
Dave Syer
444f3c8010 Feign client builder should not assume all annotations are the same
Simple solution is to check for instanceof before casting.

Fixes gh-265
2015-03-19 12:13:19 +00:00
Dave Syer
b03b2f5629 Add ping stream to turbine AMQP
This change adds more data to the stream with {"type":"Ping"}
so (I believe) the existing dashboard client will discard it,
but stay alive.

Fixes gh-264
2015-03-18 17:03:25 +00:00
Dave Syer
72a182c914 Make turbine AMQP into an application (optional) 2015-03-18 15:55:08 +00:00
Dave Syer
da24fa6d20 Refactor for config client stuff moving to commons 2015-03-18 15:42:41 +00:00
Dave Syer
369a00cb71 Validate hostname (serviceId) in @FeignClient
Since hostnames ahve quite strict syntax (e.g. no underscores) we should
validate the feign client name to prevent nasty surprises at runtime.

Fixes gh-263
2015-03-18 10:35:57 +00:00
Dave Syer
3445d093c7 Fix RabbitAdmin so it actually finds the Declarables 2015-03-17 16:08:57 +00:00
Spencer Gibb
f3ced9e0ed allow zuul to have multiple values for each named header
fixes gh-260
2015-03-16 15:19:07 -06:00
Dave Syer
cc2159f77b Use separate RabbitAdmin to declare queues and exchanges
Fixes gh-259
2015-03-16 14:57:58 +00:00
Dave Syer
9fe69cc80a Merge pull request #258 from sampengilly/master
Added additional Gradle tip to Eureka Server documentation.
2015-03-16 13:31:45 +00:00
sampengilly
a2b0b70b55 Added additional Gradle tip to Eureka Server documentation. Tip covers the usage of the spring dependency management plugin in order to prevent fatal crashes during application startup. 2015-03-16 21:05:52 +10:00
Dave Syer
9357bdd9db Remove log4j notes since Eureka no longer requires it 2015-03-13 17:15:08 +00:00
Dave Syer
0391cfff65 Allow streaming of multipart requests in Zuul proxy
It turns out that the suckiness of Zuul with multipart requests
comes almost entirely from the Multipart handling in Spring's
DispatcherServlet. This change makes the proxy routes available
on an alternative path /zuul/<normal_path> (where
/zuul is the default value of zuul.servletPath). I have
tested those with 800MB file uploads using the main method in
the FormZuulServletProxyApplicationTests and the main
observation is that there is no OutOfMemory error (no-one tries
to download the complete request body). It works with Ribbon
and with the simple (HttpClient) filter. With Ribbon you
will need to set some timeouts if you want to upload files
as large as that, e.g. see application.yml in the tests:

hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds: 60000
ribbon:
  ConnectTimeout: 3000
  ReadTimeout: 60000

You need to set "Transfer-Encoding: chunked" in the
incoming request. Chrome does not do this by default
apparently, but I was able to test with curl, e.g.

$ curl -v -H "Transfer-Encoding: chunked" \
  -F "file=@mylarg.iso" \
  localhost:9999/zuul/direct/file

The old proxy paths through the DispatcherServlet are still
available (for backwards compatibility and for convenience of
having the paths available at the root of the context path).

Fixes gh-254
2015-03-13 16:55:30 +00:00
Dave Syer
da4f5d3454 Fix issue with servlet request wrappers in Zuul
Because of the way that a FormBodyServletRequestWrapper was
implemented (extending the Zuul servlet 2.5 wrapper) it could
barf at runtime if anyone called its servlet 3.0 methods. The fix
for that was to extract our Servlet30RequestWrapper and extend that
instead.

Also tweaked the DebugFilter a bit so it doesn't try and display
the whole payload. Probably speeds up file uploads a bit but the
fact that we have to store the whole request body in memory is
going to kill us eventually.

See gh-254
2015-03-13 13:07:33 +00:00
Spencer Gibb
e2583f5380 upgrade Ribbon to version 2.0.0.
From 2.0.RC13

fixes gh-216
2015-03-06 12:47:27 -07:00
Spencer Gibb
df7abd1bc9 added test ReadTimeout parameter 2015-03-06 12:20:02 -07:00
Dave Syer
164c9f8755 Add bintray properties 2015-03-06 10:48:29 +00:00
Spencer Gibb
384fad6c40 wrap SpringLBClientFactory in a CachingLBClientFactory so LBClients are reused.
fixes gh-240
2015-03-05 12:39:22 -07:00
Spencer Gibb
4bd7c3bdcf upgrade feign to 7.3.0
fixes gh-243
2015-03-05 11:42:09 -07:00
Spencer Gibb
4e795ea783 upgrade hystrix to 1.4.0
fixes gh-242
2015-03-03 17:23:26 -07:00
Dave Syer
e3a20d5d6b Update to next snapshot 2015-03-03 14:56:26 +00:00