The main problem here was the ZuulProperties being used everywhere. I also
took the opportunity to thin out the top level zuul package and keep the
web and route locator pieces in sub-packages for readability.
Fixes gh-172
A cleaner separation of ribbon and the eureka-dependent ribbon
configuration is achieved by adding a BeanPostProcessor to do the
ServerList wrapping, instead of doing it for every single ribbon
client.
See gh-172
This change adds an ApplicationListener that sets some high priority
properties in the Environment to allow server.port and management.port
to keep their usual meaning, but have server.port apply only to turbine.
Actuator endpoints can be enabled with management.port (different to
server.port otherwise there will be a conflict between Netty and Tomcat).
Fixes gh-143, fixes gh-140
fixes gh-135
created hystrix.stream.amqp.send-id to allow disabling of sending the context id as the metric id. Turbine AMQP then defaults to serviceId:host:port
fixes gh-131
It's nice to have an annotation to say "I want Eureka discovery".
At the moment it is a pass thru for @EnableDiscoveryClient, but
in principle it could be used to select Eureka over another provider
even if both were on the classpath.
If the ClientFactory from netflix is used directly it bypasses
all the goodness in SpringClientFactory, so clients created
in Feign before this change were getting the default native
configuration instead of that provided by
RibbonClientConfiguration.
There are no remaining references to the raw ClientFactory in
Spring Cloud, so we probably have seen the last of this.
Fixes gh-118
With just a bit more hackery on the Zuul request wrapper we can mask
off the input stream and content lengths, and fix them so they contain
the expected content. Doesn't work (yet) for multipart content.
Fixes gh-109