diff --git a/pom.xml b/pom.xml
index 1d9ed2c..150df7a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -17,10 +17,7 @@
- spring-cloud-bus-common
spring-cloud-bus
- spring-cloud-bus-hystrix
- spring-cloud-bus-turbine
docs
diff --git a/spring-cloud-bus-common/pom.xml b/spring-cloud-bus-common/pom.xml
deleted file mode 100644
index 155a437..0000000
--- a/spring-cloud-bus-common/pom.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
- 4.0.0
-
- spring-cloud-bus-common
- jar
-
- spring-cloud-bus-common
- Spring Cloud Bus Common
-
-
- org.springframework.cloud
- spring-cloud-bus-parent
- 1.0.0.BUILD-SNAPSHOT
- ..
-
-
-
-
- org.springframework.cloud
- spring-cloud-localconfig-connector
-
-
-
-
diff --git a/spring-cloud-bus-common/src/main/java/org/springframework/cloud/bus/Constants.java b/spring-cloud-bus-common/src/main/java/org/springframework/cloud/bus/Constants.java
deleted file mode 100644
index 97815bd..0000000
--- a/spring-cloud-bus-common/src/main/java/org/springframework/cloud/bus/Constants.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package org.springframework.cloud.bus;
-
-/**
- * @author Spencer Gibb
- */
-public interface Constants {
- String HYSTRIX_STREAM_NAME = "spring.cloud.bus.hystrix.stream";
-}
diff --git a/spring-cloud-bus-common/src/main/java/org/springframework/cloud/notcfconfig/NotCFConfigConnector.java b/spring-cloud-bus-common/src/main/java/org/springframework/cloud/notcfconfig/NotCFConfigConnector.java
deleted file mode 100644
index 2df6457..0000000
--- a/spring-cloud-bus-common/src/main/java/org/springframework/cloud/notcfconfig/NotCFConfigConnector.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.springframework.cloud.notcfconfig;
-
-import org.springframework.cloud.localconfig.LocalConfigConnector;
-import org.springframework.cloud.service.UriBasedServiceData;
-import org.springframework.cloud.util.EnvironmentAccessor;
-
-import java.util.Collections;
-import java.util.List;
-
-/**
- * @author Spencer Gibb
- * Lets spring boot auto-configuration work, effectively disabling spring cloud local
- * TODO: workaround for not having to configure the local cloud connector
- */
-public class NotCFConfigConnector extends LocalConfigConnector {
-
- private EnvironmentAccessor env = new EnvironmentAccessor();
-
- @Override
- public boolean isInMatchingCloud() {
- return env.getEnvValue("VCAP_APPLICATION") == null;
- }
-
- @Override
- protected List getServicesData() {
- return Collections.emptyList();
- }
-}
diff --git a/spring-cloud-bus-common/src/main/resources/META-INF/services/org.springframework.cloud.CloudConnector b/spring-cloud-bus-common/src/main/resources/META-INF/services/org.springframework.cloud.CloudConnector
deleted file mode 100644
index 440a3f3..0000000
--- a/spring-cloud-bus-common/src/main/resources/META-INF/services/org.springframework.cloud.CloudConnector
+++ /dev/null
@@ -1 +0,0 @@
-org.springframework.cloud.notcfconfig.NotCFConfigConnector
\ No newline at end of file
diff --git a/spring-cloud-bus-common/src/main/resources/META-INF/services/org.springframework.cloud.notcfconfig.NotCFConfigConnector b/spring-cloud-bus-common/src/main/resources/META-INF/services/org.springframework.cloud.notcfconfig.NotCFConfigConnector
deleted file mode 100644
index f8a14d4..0000000
--- a/spring-cloud-bus-common/src/main/resources/META-INF/services/org.springframework.cloud.notcfconfig.NotCFConfigConnector
+++ /dev/null
@@ -1,5 +0,0 @@
-org.springframework.cloud.localconfig.AmqpServiceInfoCreator
-org.springframework.cloud.localconfig.MongoServiceInfoCreator
-org.springframework.cloud.localconfig.MysqlServiceInfoCreator
-org.springframework.cloud.localconfig.PostgresqlServiceInfoCreator
-org.springframework.cloud.localconfig.RedisServiceInfoCreator
\ No newline at end of file
diff --git a/spring-cloud-bus-hystrix/pom.xml b/spring-cloud-bus-hystrix/pom.xml
deleted file mode 100644
index f2c00ab..0000000
--- a/spring-cloud-bus-hystrix/pom.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-
-
- 4.0.0
-
- spring-cloud-bus-hystrix
- jar
-
- spring-cloud-bus-hystrix
- Spring Cloud Bus Hystrix
-
-
- org.springframework.cloud
- spring-cloud-bus-parent
- 1.0.0.BUILD-SNAPSHOT
- ..
-
-
-
-
- org.springframework.cloud
- spring-cloud-bus-common
- ${project.version}
-
-
- org.springframework.cloud
- spring-cloud-commons
-
-
- org.springframework.boot
- spring-boot-starter-amqp
-
-
- org.springframework.boot
- spring-boot-starter-integration
-
-
- org.springframework.cloud
- spring-cloud-netflix-core
-
-
- org.springframework.integration
- spring-integration-amqp
-
-
- org.springframework.integration
- spring-integration-java-dsl
-
-
- com.netflix.hystrix
- hystrix-core
-
-
- com.netflix.eureka
- eureka-client
- true
-
-
- org.projectlombok
- lombok
- compile
- true
-
-
-
-
diff --git a/spring-cloud-bus-hystrix/src/main/java/org/springframework/cloud/bus/hystrix/HystrixStreamAutoConfiguration.java b/spring-cloud-bus-hystrix/src/main/java/org/springframework/cloud/bus/hystrix/HystrixStreamAutoConfiguration.java
deleted file mode 100644
index c4e0d85..0000000
--- a/spring-cloud-bus-hystrix/src/main/java/org/springframework/cloud/bus/hystrix/HystrixStreamAutoConfiguration.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package org.springframework.cloud.bus.hystrix;
-
-import org.springframework.amqp.core.AmqpTemplate;
-import org.springframework.amqp.core.DirectExchange;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
-import org.springframework.cloud.bus.Constants;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.integration.annotation.IntegrationComponentScan;
-import org.springframework.integration.channel.DirectChannel;
-import org.springframework.integration.dsl.IntegrationFlow;
-import org.springframework.integration.dsl.IntegrationFlows;
-import org.springframework.integration.dsl.amqp.Amqp;
-import org.springframework.scheduling.annotation.EnableScheduling;
-
-/**
- * @author Spencer Gibb
- */
-@Configuration
-@ConditionalOnClass(AmqpTemplate.class)
-public class HystrixStreamAutoConfiguration {
- @Configuration
- @ConditionalOnExpression("${hystrix.stream.bus.enabled:false}")
- @IntegrationComponentScan(basePackageClasses = HystrixStreamChannel.class)
- @EnableScheduling
- protected static class HystrixStreamBusAutoConfiguration {
-
- @Autowired
- private AmqpTemplate amqpTemplate;
-
- @Bean
- public HystrixStreamTask hystrixStreamTask() {
- return new HystrixStreamTask();
- }
-
- @Bean
- public DirectChannel hystrixStream() {
- return new DirectChannel();
- }
-
- @Bean
- public DirectExchange hystrixStreamExchange() {
- DirectExchange exchange = new DirectExchange(Constants.HYSTRIX_STREAM_NAME);
- return exchange;
- }
-
- @ConditionalOnExpression("${hystrix.stream.bus.enabled:true}")
- @Bean
- public IntegrationFlow hystrixStreamOutboundFlow() {
- return IntegrationFlows.from("hystrixStream")
- //TODO: set content type
- /*.enrichHeaders(new ComponentConfigurer() {
- @Override
- public void configure(HeaderEnricherSpec spec) {
- spec.header("content-type", "application/json", true);
- }
- })*/
- .handle(Amqp.outboundAdapter(this.amqpTemplate).exchangeName(Constants.HYSTRIX_STREAM_NAME))
- .get();
- }
-
- /*@Bean
- public DirectChannel wiretapChannel() {
- return MessageChannels.direct().get();
- }
-
- @Bean
- @GlobalChannelInterceptor(patterns = "hystrixStreamOutboundFlow*")
- public WireTap wireTap() {
- return new WireTap(wiretapChannel());
- }
-
- @Bean
- public IntegrationFlow loggingFlow() {
- LoggingHandler handler = new LoggingHandler("INFO");
- handler.setShouldLogFullMessage(true);
- return IntegrationFlows.from(wiretapChannel())
- .handle(handler)
- .get();
- }*/
- }
-
-}
diff --git a/spring-cloud-bus-hystrix/src/main/java/org/springframework/cloud/bus/hystrix/HystrixStreamChannel.java b/spring-cloud-bus-hystrix/src/main/java/org/springframework/cloud/bus/hystrix/HystrixStreamChannel.java
deleted file mode 100644
index 508a772..0000000
--- a/spring-cloud-bus-hystrix/src/main/java/org/springframework/cloud/bus/hystrix/HystrixStreamChannel.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package org.springframework.cloud.bus.hystrix;
-
-import org.springframework.integration.annotation.Gateway;
-import org.springframework.integration.annotation.MessagingGateway;
-
-/**
- * @author Spencer Gibb
- */
-@MessagingGateway
-public interface HystrixStreamChannel {
-
- @Gateway(requestChannel = "hystrixStream")
- public void send(String s);
-}
diff --git a/spring-cloud-bus-hystrix/src/main/java/org/springframework/cloud/bus/hystrix/HystrixStreamTask.java b/spring-cloud-bus-hystrix/src/main/java/org/springframework/cloud/bus/hystrix/HystrixStreamTask.java
deleted file mode 100644
index 36e3092..0000000
--- a/spring-cloud-bus-hystrix/src/main/java/org/springframework/cloud/bus/hystrix/HystrixStreamTask.java
+++ /dev/null
@@ -1,229 +0,0 @@
-package org.springframework.cloud.bus.hystrix;
-
-import com.netflix.hystrix.*;
-import com.netflix.hystrix.util.HystrixRollingNumberEvent;
-import lombok.extern.slf4j.Slf4j;
-import org.codehaus.jackson.JsonFactory;
-import org.codehaus.jackson.JsonGenerator;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.cloud.client.ServiceInstance;
-import org.springframework.cloud.client.discovery.DiscoveryClient;
-import org.springframework.context.ApplicationContext;
-import org.springframework.scheduling.annotation.Scheduled;
-
-import java.io.IOException;
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.concurrent.LinkedBlockingQueue;
-
-/**
- * @author Spencer Gibb
- * see com.netflix.hystrix.contrib.metrics.eventstream.HystrixMetricsPoller.MetricsPoller
- */
-@Slf4j
-public class HystrixStreamTask {
-
- @Autowired
- private HystrixStreamChannel channel;
-
- @Autowired
- private DiscoveryClient discoveryClient;
-
- @Autowired
- private ApplicationContext context;
-
- private final LinkedBlockingQueue jsonMetrics = new LinkedBlockingQueue<>(1000);
-
- private final JsonFactory jsonFactory = new JsonFactory();
-
- //TODO: use integration to split this up?
- @Scheduled(fixedRateString = "${hystrix.stream.bus.sendRate:500}")
- public void sendMetrics() {
- log.trace("sending metrics");
- ArrayList metrics = new ArrayList<>();
- jsonMetrics.drainTo(metrics);
-
- if (!metrics.isEmpty()) {
- for (String json: metrics) {
- //TODO: batch all metrics to one message
- try {
- channel.send(json);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
- }
-
- //@InboundChannelAdapter()
- //TODO: move fixedRate to configuration
- @Scheduled(fixedRateString = "${hystrix.stream.bus.gatherRate:500}")
- public void gatherMetrics() {
- try {
- log.trace("gathering metrics");
- // command metrics
- for (HystrixCommandMetrics commandMetrics : HystrixCommandMetrics.getInstances()) {
- HystrixCommandKey key = commandMetrics.getCommandKey();
- HystrixCircuitBreaker circuitBreaker = HystrixCircuitBreaker.Factory.getInstance(key);
-
- StringWriter jsonString = new StringWriter();
- JsonGenerator json = jsonFactory.createJsonGenerator(jsonString);
-
- json.writeStartObject();
-
- addServiceData(json);
- json.writeObjectFieldStart("data");
- json.writeStringField("type", "HystrixCommand");
- json.writeStringField("name", key.name());
- json.writeStringField("group", commandMetrics.getCommandGroup().name());
- json.writeNumberField("currentTime", System.currentTimeMillis());
-
- // circuit breaker
- if (circuitBreaker == null) {
- // circuit breaker is disabled and thus never open
- json.writeBooleanField("isCircuitBreakerOpen", false);
- } else {
- json.writeBooleanField("isCircuitBreakerOpen", circuitBreaker.isOpen());
- }
- HystrixCommandMetrics.HealthCounts healthCounts = commandMetrics.getHealthCounts();
- json.writeNumberField("errorPercentage", healthCounts.getErrorPercentage());
- json.writeNumberField("errorCount", healthCounts.getErrorCount());
- json.writeNumberField("requestCount", healthCounts.getTotalRequests());
-
- // rolling counters
- json.writeNumberField("rollingCountCollapsedRequests", commandMetrics.getRollingCount(HystrixRollingNumberEvent.COLLAPSED));
- json.writeNumberField("rollingCountExceptionsThrown", commandMetrics.getRollingCount(HystrixRollingNumberEvent.EXCEPTION_THROWN));
- json.writeNumberField("rollingCountFailure", commandMetrics.getRollingCount(HystrixRollingNumberEvent.FAILURE));
- json.writeNumberField("rollingCountFallbackFailure", commandMetrics.getRollingCount(HystrixRollingNumberEvent.FALLBACK_FAILURE));
- json.writeNumberField("rollingCountFallbackRejection", commandMetrics.getRollingCount(HystrixRollingNumberEvent.FALLBACK_REJECTION));
- json.writeNumberField("rollingCountFallbackSuccess", commandMetrics.getRollingCount(HystrixRollingNumberEvent.FALLBACK_SUCCESS));
- json.writeNumberField("rollingCountResponsesFromCache", commandMetrics.getRollingCount(HystrixRollingNumberEvent.RESPONSE_FROM_CACHE));
- json.writeNumberField("rollingCountSemaphoreRejected", commandMetrics.getRollingCount(HystrixRollingNumberEvent.SEMAPHORE_REJECTED));
- json.writeNumberField("rollingCountShortCircuited", commandMetrics.getRollingCount(HystrixRollingNumberEvent.SHORT_CIRCUITED));
- json.writeNumberField("rollingCountSuccess", commandMetrics.getRollingCount(HystrixRollingNumberEvent.SUCCESS));
- json.writeNumberField("rollingCountThreadPoolRejected", commandMetrics.getRollingCount(HystrixRollingNumberEvent.THREAD_POOL_REJECTED));
- json.writeNumberField("rollingCountTimeout", commandMetrics.getRollingCount(HystrixRollingNumberEvent.TIMEOUT));
-
- json.writeNumberField("currentConcurrentExecutionCount", commandMetrics.getCurrentConcurrentExecutionCount());
-
- // latency percentiles
- json.writeNumberField("latencyExecute_mean", commandMetrics.getExecutionTimeMean());
- json.writeObjectFieldStart("latencyExecute");
- json.writeNumberField("0", commandMetrics.getExecutionTimePercentile(0));
- json.writeNumberField("25", commandMetrics.getExecutionTimePercentile(25));
- json.writeNumberField("50", commandMetrics.getExecutionTimePercentile(50));
- json.writeNumberField("75", commandMetrics.getExecutionTimePercentile(75));
- json.writeNumberField("90", commandMetrics.getExecutionTimePercentile(90));
- json.writeNumberField("95", commandMetrics.getExecutionTimePercentile(95));
- json.writeNumberField("99", commandMetrics.getExecutionTimePercentile(99));
- json.writeNumberField("99.5", commandMetrics.getExecutionTimePercentile(99.5));
- json.writeNumberField("100", commandMetrics.getExecutionTimePercentile(100));
- json.writeEndObject();
- //
- json.writeNumberField("latencyTotal_mean", commandMetrics.getTotalTimeMean());
- json.writeObjectFieldStart("latencyTotal");
- json.writeNumberField("0", commandMetrics.getTotalTimePercentile(0));
- json.writeNumberField("25", commandMetrics.getTotalTimePercentile(25));
- json.writeNumberField("50", commandMetrics.getTotalTimePercentile(50));
- json.writeNumberField("75", commandMetrics.getTotalTimePercentile(75));
- json.writeNumberField("90", commandMetrics.getTotalTimePercentile(90));
- json.writeNumberField("95", commandMetrics.getTotalTimePercentile(95));
- json.writeNumberField("99", commandMetrics.getTotalTimePercentile(99));
- json.writeNumberField("99.5", commandMetrics.getTotalTimePercentile(99.5));
- json.writeNumberField("100", commandMetrics.getTotalTimePercentile(100));
- json.writeEndObject();
-
- // property values for reporting what is actually seen by the command rather than what was set somewhere
- HystrixCommandProperties commandProperties = commandMetrics.getProperties();
-
- json.writeNumberField("propertyValue_circuitBreakerRequestVolumeThreshold", commandProperties.circuitBreakerRequestVolumeThreshold().get());
- json.writeNumberField("propertyValue_circuitBreakerSleepWindowInMilliseconds", commandProperties.circuitBreakerSleepWindowInMilliseconds().get());
- json.writeNumberField("propertyValue_circuitBreakerErrorThresholdPercentage", commandProperties.circuitBreakerErrorThresholdPercentage().get());
- json.writeBooleanField("propertyValue_circuitBreakerForceOpen", commandProperties.circuitBreakerForceOpen().get());
- json.writeBooleanField("propertyValue_circuitBreakerForceClosed", commandProperties.circuitBreakerForceClosed().get());
- json.writeBooleanField("propertyValue_circuitBreakerEnabled", commandProperties.circuitBreakerEnabled().get());
-
- json.writeStringField("propertyValue_executionIsolationStrategy", commandProperties.executionIsolationStrategy().get().name());
- json.writeNumberField("propertyValue_executionIsolationThreadTimeoutInMilliseconds", commandProperties.executionIsolationThreadTimeoutInMilliseconds().get());
- json.writeBooleanField("propertyValue_executionIsolationThreadInterruptOnTimeout", commandProperties.executionIsolationThreadInterruptOnTimeout().get());
- json.writeStringField("propertyValue_executionIsolationThreadPoolKeyOverride", commandProperties.executionIsolationThreadPoolKeyOverride().get());
- json.writeNumberField("propertyValue_executionIsolationSemaphoreMaxConcurrentRequests", commandProperties.executionIsolationSemaphoreMaxConcurrentRequests().get());
- json.writeNumberField("propertyValue_fallbackIsolationSemaphoreMaxConcurrentRequests", commandProperties.fallbackIsolationSemaphoreMaxConcurrentRequests().get());
-
- /*
- * The following are commented out as these rarely change and are verbose for streaming for something people don't change.
- * We could perhaps allow a property or request argument to include these.
- */
-
- // json.put("propertyValue_metricsRollingPercentileEnabled", commandProperties.metricsRollingPercentileEnabled().get());
- // json.put("propertyValue_metricsRollingPercentileBucketSize", commandProperties.metricsRollingPercentileBucketSize().get());
- // json.put("propertyValue_metricsRollingPercentileWindow", commandProperties.metricsRollingPercentileWindowInMilliseconds().get());
- // json.put("propertyValue_metricsRollingPercentileWindowBuckets", commandProperties.metricsRollingPercentileWindowBuckets().get());
- // json.put("propertyValue_metricsRollingStatisticalWindowBuckets", commandProperties.metricsRollingStatisticalWindowBuckets().get());
- json.writeNumberField("propertyValue_metricsRollingStatisticalWindowInMilliseconds", commandProperties.metricsRollingStatisticalWindowInMilliseconds().get());
-
- json.writeBooleanField("propertyValue_requestCacheEnabled", commandProperties.requestCacheEnabled().get());
- json.writeBooleanField("propertyValue_requestLogEnabled", commandProperties.requestLogEnabled().get());
-
- json.writeNumberField("reportingHosts", 1); // this will get summed across all instances in a cluster
-
- json.writeEndObject(); // end data attribute
- json.writeEndObject();
- json.close();
-
- // output
- jsonMetrics.add(jsonString.getBuffer().toString());
- }
-
- // thread pool metrics
- for (HystrixThreadPoolMetrics threadPoolMetrics : HystrixThreadPoolMetrics.getInstances()) {
- HystrixThreadPoolKey key = threadPoolMetrics.getThreadPoolKey();
-
- StringWriter jsonString = new StringWriter();
- JsonGenerator json = jsonFactory.createJsonGenerator(jsonString);
- json.writeStartObject();
-
- addServiceData(json);
- json.writeObjectFieldStart("data");
-
- json.writeStringField("type", "HystrixThreadPool");
- json.writeStringField("name", key.name());
- json.writeNumberField("currentTime", System.currentTimeMillis());
-
- json.writeNumberField("currentActiveCount", threadPoolMetrics.getCurrentActiveCount().intValue());
- json.writeNumberField("currentCompletedTaskCount", threadPoolMetrics.getCurrentCompletedTaskCount().longValue());
- json.writeNumberField("currentCorePoolSize", threadPoolMetrics.getCurrentCorePoolSize().intValue());
- json.writeNumberField("currentLargestPoolSize", threadPoolMetrics.getCurrentLargestPoolSize().intValue());
- json.writeNumberField("currentMaximumPoolSize", threadPoolMetrics.getCurrentMaximumPoolSize().intValue());
- json.writeNumberField("currentPoolSize", threadPoolMetrics.getCurrentPoolSize().intValue());
- json.writeNumberField("currentQueueSize", threadPoolMetrics.getCurrentQueueSize().intValue());
- json.writeNumberField("currentTaskCount", threadPoolMetrics.getCurrentTaskCount().longValue());
- json.writeNumberField("rollingCountThreadsExecuted", threadPoolMetrics.getRollingCountThreadsExecuted());
- json.writeNumberField("rollingMaxActiveThreads", threadPoolMetrics.getRollingMaxActiveThreads());
-
- json.writeNumberField("propertyValue_queueSizeRejectionThreshold", threadPoolMetrics.getProperties().queueSizeRejectionThreshold().get());
- json.writeNumberField("propertyValue_metricsRollingStatisticalWindowInMilliseconds", threadPoolMetrics.getProperties().metricsRollingStatisticalWindowInMilliseconds().get());
-
- json.writeNumberField("reportingHosts", 1); // this will get summed across all instances in a cluster
-
- json.writeEndObject(); // end of data object
- json.writeEndObject();
- json.close();
- // output to stream
- jsonMetrics.add(jsonString.getBuffer().toString());
- }
- } catch (Exception e) {
- log.error("Error adding metrics to queue", e);
- }
- }
-
- private void addServiceData(JsonGenerator json) throws IOException {
- ServiceInstance localService = discoveryClient.getLocalServiceInstance();
- json.writeObjectFieldStart("origin");
- json.writeStringField("host", localService.getHost());
- json.writeNumberField("port", localService.getPort());
- json.writeStringField("serviceId", localService.getServiceId());
- json.writeStringField("id", context.getId());
- json.writeEndObject();
- }
-}
diff --git a/spring-cloud-bus-hystrix/src/main/resources/META-INF/spring.factories b/spring-cloud-bus-hystrix/src/main/resources/META-INF/spring.factories
deleted file mode 100644
index 8b35ef4..0000000
--- a/spring-cloud-bus-hystrix/src/main/resources/META-INF/spring.factories
+++ /dev/null
@@ -1,2 +0,0 @@
-org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
-org.springframework.cloud.bus.hystrix.HystrixStreamAutoConfiguration
diff --git a/spring-cloud-bus-turbine/.jdk8 b/spring-cloud-bus-turbine/.jdk8
deleted file mode 100644
index e69de29..0000000
diff --git a/spring-cloud-bus-turbine/pom.xml b/spring-cloud-bus-turbine/pom.xml
deleted file mode 100644
index 69c9f3a..0000000
--- a/spring-cloud-bus-turbine/pom.xml
+++ /dev/null
@@ -1,78 +0,0 @@
-
-
- 4.0.0
-
- spring-cloud-bus-turbine
- jar
-
- spring-cloud-bus-turbine
- Spring Cloud Bus Turbine
-
-
- org.springframework.cloud
- spring-cloud-bus-parent
- 1.0.0.BUILD-SNAPSHOT
- ..
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
- 1.8
- 1.8
-
-
-
-
-
-
-
- org.springframework.cloud
- spring-cloud-bus-common
- ${project.version}
-
-
- org.springframework.cloud
- spring-cloud-commons
-
-
- org.springframework.boot
- spring-boot-starter-amqp
-
-
- org.springframework.boot
- spring-boot-starter-integration
-
-
- org.springframework.integration
- spring-integration-amqp
-
-
- org.springframework.integration
- spring-integration-java-dsl
-
-
- com.fasterxml.jackson.core
- jackson-databind
-
-
- com.netflix.turbine
- turbine-core
-
-
- io.reactivex
- rxjava
-
-
- org.projectlombok
- lombok
- compile
- true
-
-
-
-
diff --git a/spring-cloud-bus-turbine/src/main/java/org/springframework/cloud/bus/turbine/Aggregator.java b/spring-cloud-bus-turbine/src/main/java/org/springframework/cloud/bus/turbine/Aggregator.java
deleted file mode 100644
index ad87ce9..0000000
--- a/spring-cloud-bus-turbine/src/main/java/org/springframework/cloud/bus/turbine/Aggregator.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package org.springframework.cloud.bus.turbine;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-import lombok.extern.slf4j.Slf4j;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.integration.annotation.MessageEndpoint;
-import org.springframework.integration.annotation.ServiceActivator;
-import org.springframework.util.StringUtils;
-
-import rx.subjects.PublishSubject;
-
-import java.io.IOException;
-import java.util.Map;
-
-/**
- * @author Spencer Gibb
- */
-@MessageEndpoint
-@Slf4j
-public class Aggregator {
-
- @Autowired
- private ObjectMapper objectMapper;
-
- @Autowired
- private PublishSubject