Remove netflix dependencies

There's no need to depend on netflix libraries but the sample was
using Ribbon, so we took that out so that the release can be
independent.
This commit is contained in:
Dave Syer
2016-04-18 11:57:27 +01:00
parent d8aa50eb85
commit bdd196bda3
10 changed files with 192 additions and 216 deletions

View File

@@ -16,7 +16,6 @@
package org.springframework.cloud.cloudfoundry.session;
import java.io.IOException;
import java.util.UUID;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
@@ -24,11 +23,11 @@ import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.embedded.FilterRegistrationBean;
import org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.core.Ordered;
import org.springframework.web.filter.OncePerRequestFilter;
@@ -36,31 +35,28 @@ import org.springframework.web.filter.OncePerRequestFilter;
* @author Dave Syer
*/
@Configuration
@PropertySource("spring-cloud-cloudfoundry.properties")
public class StickyFilterConfiguration {
private String cookie = UUID.randomUUID().toString();
@Value("${spring.cloud.cloudfoundry.web.cookie}")
private String cookie;
@Autowired
public void init(EurekaInstanceConfigBean eurekaInstance) {
eurekaInstance.getMetadataMap().put("cookie", cookie);
}
@Bean
public FilterRegistrationBean stickyCloudFoundryFilter() {
FilterRegistrationBean filter = new FilterRegistrationBean();
filter.setOrder(Ordered.LOWEST_PRECEDENCE);
filter.setFilter(new OncePerRequestFilter() {
@Override
protected void doFilterInternal(HttpServletRequest request,
HttpServletResponse response, FilterChain filterChain)
throws ServletException, IOException {
if (!response.containsHeader("Set-Cookie")) {
response.addCookie(new Cookie("JSESSIONID", cookie));
}
filterChain.doFilter(request, response);
}
});
return filter;
}
@Bean
public FilterRegistrationBean stickyCloudFoundryFilter() {
FilterRegistrationBean filter = new FilterRegistrationBean();
filter.setOrder(Ordered.LOWEST_PRECEDENCE);
filter.setFilter(new OncePerRequestFilter() {
@Override
protected void doFilterInternal(HttpServletRequest request,
HttpServletResponse response, FilterChain filterChain)
throws ServletException, IOException {
if (!response.containsHeader("Set-Cookie")) {
response.addCookie(new Cookie("JSESSIONID", cookie));
}
filterChain.doFilter(request, response);
}
});
return filter;
}
}

View File

@@ -0,0 +1,2 @@
spring.cloud.cloudfoundry.web.cookie=${random}
eureka.instance.metadata-map.cookie=${spring.cloud.cloudfoundry.web.cookie}