Note that setting this attribute to {@code true} will affect all
+ * Spring-managed beans requiring proxying, not just those marked with
+ * {@code @Transactional}. For example, other beans marked with Spring's
+ * {@code @Async} annotation will be upgraded to subclass proxying at the same
+ * time. This approach has no negative impact in practice unless one is explicitly
+ * expecting one type of proxy vs another, e.g. in tests.
+ */
+ boolean proxyTargetClass() default false;
+
+ /**
+ * Indicate how transactional advice should be applied. The default is
+ * {@link org.springframework.context.annotation.AdviceMode#PROXY}.
+ * @see org.springframework.context.annotation.AdviceMode
+ */
+ AdviceMode mode() default AdviceMode.PROXY;
+
+ /**
+ * Indicate the ordering of the execution of the transaction advisor
+ * when multiple advices are applied at a specific joinpoint.
+ * The default is {@link org.springframework.core.Ordered#LOWEST_PRECEDENCE}.
+ */
+ int order() default Ordered.LOWEST_PRECEDENCE;
+
+}
\ No newline at end of file
diff --git a/spring-platform-netflix-core/src/main/java/org/springframework/platform/netflix/endpoint/HystrixStreamEndpoint.java b/spring-platform-netflix-core/src/main/java/org/springframework/platform/netflix/endpoint/HystrixStreamEndpoint.java
new file mode 100644
index 00000000..ffa57b09
--- /dev/null
+++ b/spring-platform-netflix-core/src/main/java/org/springframework/platform/netflix/endpoint/HystrixStreamEndpoint.java
@@ -0,0 +1,15 @@
+package org.springframework.platform.netflix.endpoint;
+
+import com.netflix.hystrix.contrib.metrics.eventstream.HystrixMetricsStreamServlet;
+
+/**
+ * User: spencergibb
+ * Date: 4/22/14
+ * Time: 3:16 PM
+ */
+public class HystrixStreamEndpoint extends ServletWrappingEndpoint {
+
+ public HystrixStreamEndpoint() {
+ super(HystrixMetricsStreamServlet.class, "hystrixStream", "hystrix.stream", false, true);
+ }
+}
diff --git a/spring-platform-netflix-core/src/main/java/org/springframework/platform/netflix/endpoint/ServletWrappingEndpoint.java b/spring-platform-netflix-core/src/main/java/org/springframework/platform/netflix/endpoint/ServletWrappingEndpoint.java
new file mode 100644
index 00000000..0fff26af
--- /dev/null
+++ b/spring-platform-netflix-core/src/main/java/org/springframework/platform/netflix/endpoint/ServletWrappingEndpoint.java
@@ -0,0 +1,76 @@
+package org.springframework.platform.netflix.endpoint;
+
+import org.springframework.beans.BeansException;
+import org.springframework.beans.factory.InitializingBean;
+import org.springframework.boot.actuate.endpoint.Endpoint;
+import org.springframework.boot.actuate.endpoint.mvc.MvcEndpoint;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ApplicationContextAware;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.context.ServletContextAware;
+import org.springframework.web.servlet.ModelAndView;
+import org.springframework.web.servlet.mvc.ServletWrappingController;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * TODO: move to spring-boot?
+ * User: spencergibb
+ * Date: 4/24/14
+ * Time: 9:13 PM
+ */
+public abstract class ServletWrappingEndpoint implements InitializingBean,
+ ApplicationContextAware, ServletContextAware, MvcEndpoint {
+
+ protected String path;
+ protected boolean sensitive;
+ protected boolean enabled = true;
+
+ protected final ServletWrappingController controller = new ServletWrappingController();
+
+ @Override
+ public void afterPropertiesSet() throws Exception {
+ this.controller.afterPropertiesSet();
+ }
+
+ @Override
+ public void setServletContext(ServletContext servletContext) {
+ this.controller.setServletContext(servletContext);
+ }
+
+ @Override
+ public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
+ this.controller.setApplicationContext(applicationContext);
+ }
+
+ protected ServletWrappingEndpoint(Class> servletClass, String servletName, String path,
+ boolean sensitive, boolean enabled) {
+ controller.setServletClass(servletClass);
+ controller.setServletName(servletName);
+ this.path = path;
+ this.sensitive = sensitive;
+ this.enabled = enabled;
+ }
+
+ @RequestMapping("**")
+ public ModelAndView handle(HttpServletRequest request, HttpServletResponse response) throws Exception {
+ return this.controller.handleRequest(request, response);
+ }
+
+ @Override
+ public String getPath() {
+ return path;
+ }
+
+ @Override
+ public boolean isSensitive() {
+ return sensitive;
+ }
+
+ @Override
+ public Class extends Endpoint> getEndpointType() {
+ return null;
+ }
+}
diff --git a/src/main/java/org/springframework/platform/netflix/eureka/EurekaClientAutoConfiguration.java b/spring-platform-netflix-core/src/main/java/org/springframework/platform/netflix/eureka/EurekaClientAutoConfiguration.java
similarity index 100%
rename from src/main/java/org/springframework/platform/netflix/eureka/EurekaClientAutoConfiguration.java
rename to spring-platform-netflix-core/src/main/java/org/springframework/platform/netflix/eureka/EurekaClientAutoConfiguration.java
diff --git a/src/main/java/org/springframework/platform/netflix/eureka/EurekaClientConfigBean.java b/spring-platform-netflix-core/src/main/java/org/springframework/platform/netflix/eureka/EurekaClientConfigBean.java
similarity index 96%
rename from src/main/java/org/springframework/platform/netflix/eureka/EurekaClientConfigBean.java
rename to spring-platform-netflix-core/src/main/java/org/springframework/platform/netflix/eureka/EurekaClientConfigBean.java
index 09bf489a..58b71fe7 100644
--- a/src/main/java/org/springframework/platform/netflix/eureka/EurekaClientConfigBean.java
+++ b/spring-platform-netflix-core/src/main/java/org/springframework/platform/netflix/eureka/EurekaClientConfigBean.java
@@ -147,16 +147,16 @@ public class EurekaClientConfigBean implements EurekaClientConfig {
@Override
public List These converters are used to convert from and to HTTP requests and responses.
+ */
+ public void setMessageConverters(List