diff --git a/docs/src/main/asciidoc/install.adoc b/docs/src/main/asciidoc/install.adoc
index 856f207..5a9f3b3 100644
--- a/docs/src/main/asciidoc/install.adoc
+++ b/docs/src/main/asciidoc/install.adoc
@@ -1,23 +1,23 @@
To install, make
sure you have
https://github.com/spring-projects/spring-boot[Spring Boot CLI]
-(1.5.2 or better):
+(2.0.0 or better):
$ spring version
- Spring CLI v1.5.8.RELEASE
+ Spring CLI v2.0.0.M6
E.g. for SDKMan users
```
-$ sdk install springboot 1.5.8.RELEASE
-$ sdk use springboot 1.5.8.RELEASE
+$ sdk install springboot 2.0.0.M6
+$ sdk use springboot 2.0.0.M6
```
and install the Spring Cloud plugin
```
$ mvn install
-$ spring install org.springframework.cloud:spring-cloud-cli:1.4.1.BUILD-SNAPSHOT
+$ spring install org.springframework.cloud:spring-cloud-cli:2.0.0.BUILD-SNAPSHOT
```
IMPORTANT: **Prerequisites:** to use the encryption and decryption features
diff --git a/pom.xml b/pom.xml
index cd1ffb8..b630aca 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,7 +24,7 @@
cli
spring-cloud-cli
${basedir}/..
- 2.0.0.M6
+ 2.0.0.BUILD-SNAPSHOT
Finchley.BUILD-SNAPSHOT
diff --git a/spring-cloud-cli-integration-tests/src/test/java/org/springframework/cloud/cli/CliTester.java b/spring-cloud-cli-integration-tests/src/test/java/org/springframework/cloud/cli/CliTester.java
index 9fae672..425b053 100644
--- a/spring-cloud-cli-integration-tests/src/test/java/org/springframework/cloud/cli/CliTester.java
+++ b/spring-cloud-cli-integration-tests/src/test/java/org/springframework/cloud/cli/CliTester.java
@@ -39,7 +39,6 @@ import org.springframework.boot.cli.command.OptionParsingCommand;
import org.springframework.boot.cli.command.archive.JarCommand;
import org.springframework.boot.cli.command.grab.GrabCommand;
import org.springframework.boot.cli.command.run.RunCommand;
-import org.springframework.boot.cli.command.test.TestCommand;
import org.springframework.util.SocketUtils;
/**
@@ -75,17 +74,6 @@ public class CliTester implements TestRule {
return getOutput();
}
- public String test(String... args) throws Exception {
- Future future = submitCommand(new TestCommand(), args);
- try {
- this.commands.add(future.get(this.timeout, TimeUnit.MILLISECONDS));
- return getOutput();
- }
- catch (Exception ex) {
- return getOutput();
- }
- }
-
public String grab(String... args) throws Exception {
Future future = submitCommand(new GrabCommand(), args);
this.commands.add(future.get(this.timeout, TimeUnit.MILLISECONDS));
diff --git a/spring-cloud-cli/src/main/java/org/springframework/cloud/cli/compiler/EurekaClientCompilerAutoConfiguration.java b/spring-cloud-cli/src/main/java/org/springframework/cloud/cli/compiler/EurekaClientCompilerAutoConfiguration.java
index 70216dc..2ba1a30 100644
--- a/spring-cloud-cli/src/main/java/org/springframework/cloud/cli/compiler/EurekaClientCompilerAutoConfiguration.java
+++ b/spring-cloud-cli/src/main/java/org/springframework/cloud/cli/compiler/EurekaClientCompilerAutoConfiguration.java
@@ -37,7 +37,7 @@ public class EurekaClientCompilerAutoConfiguration extends CompilerAutoConfigura
public void applyDependencies(DependencyCustomizer dependencies) {
dependencies.ifAnyMissingClasses(
"org.springframework.cloud.client.discovery.EnableDiscoveryClient").add(
- "spring-cloud-starter-eureka");
+ "spring-cloud-starter-netflix-eureka-client");
}
@Override
diff --git a/spring-cloud-cli/src/main/java/org/springframework/cloud/cli/compiler/EurekaServerCompilerAutoConfiguration.java b/spring-cloud-cli/src/main/java/org/springframework/cloud/cli/compiler/EurekaServerCompilerAutoConfiguration.java
index 56a32c0..cf976b5 100644
--- a/spring-cloud-cli/src/main/java/org/springframework/cloud/cli/compiler/EurekaServerCompilerAutoConfiguration.java
+++ b/spring-cloud-cli/src/main/java/org/springframework/cloud/cli/compiler/EurekaServerCompilerAutoConfiguration.java
@@ -37,7 +37,7 @@ public class EurekaServerCompilerAutoConfiguration extends CompilerAutoConfigura
public void applyDependencies(DependencyCustomizer dependencies) {
dependencies.ifAnyMissingClasses(
"org.springframework.cloud.netflix.eureka.server.EnableEurekaServer")
- .add("spring-cloud-starter-eureka-server");
+ .add("spring-cloud-starter-netflix-eureka-server");
}
@Override
diff --git a/spring-cloud-cli/src/main/java/org/springframework/cloud/cli/compiler/HystrixCompilerAutoConfiguration.java b/spring-cloud-cli/src/main/java/org/springframework/cloud/cli/compiler/HystrixCompilerAutoConfiguration.java
index fb4c458..b3701e1 100644
--- a/spring-cloud-cli/src/main/java/org/springframework/cloud/cli/compiler/HystrixCompilerAutoConfiguration.java
+++ b/spring-cloud-cli/src/main/java/org/springframework/cloud/cli/compiler/HystrixCompilerAutoConfiguration.java
@@ -37,7 +37,7 @@ public class HystrixCompilerAutoConfiguration extends CompilerAutoConfiguration
public void applyDependencies(DependencyCustomizer dependencies) {
dependencies.ifAnyMissingClasses(
"org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker")
- .add("spring-cloud-starter-hystrix");
+ .add("spring-cloud-starter-netflix-hystrix");
}
@Override
diff --git a/spring-cloud-cli/src/main/java/org/springframework/cloud/cli/compiler/HystrixDashboardCompilerAutoConfiguration.java b/spring-cloud-cli/src/main/java/org/springframework/cloud/cli/compiler/HystrixDashboardCompilerAutoConfiguration.java
index eed521d..341d988 100644
--- a/spring-cloud-cli/src/main/java/org/springframework/cloud/cli/compiler/HystrixDashboardCompilerAutoConfiguration.java
+++ b/spring-cloud-cli/src/main/java/org/springframework/cloud/cli/compiler/HystrixDashboardCompilerAutoConfiguration.java
@@ -37,7 +37,7 @@ public class HystrixDashboardCompilerAutoConfiguration extends CompilerAutoConfi
public void applyDependencies(DependencyCustomizer dependencies) {
dependencies.ifAnyMissingClasses(
"org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard")
- .add("spring-cloud-starter-hystrix-dashboard");
+ .add("spring-cloud-starter-netflix-hystrix-dashboard");
}
@Override
diff --git a/spring-cloud-cli/src/main/java/org/springframework/cloud/cli/compiler/ZuulCompilerAutoConfiguration.java b/spring-cloud-cli/src/main/java/org/springframework/cloud/cli/compiler/ZuulCompilerAutoConfiguration.java
index 2f36dc2..b039ff6 100644
--- a/spring-cloud-cli/src/main/java/org/springframework/cloud/cli/compiler/ZuulCompilerAutoConfiguration.java
+++ b/spring-cloud-cli/src/main/java/org/springframework/cloud/cli/compiler/ZuulCompilerAutoConfiguration.java
@@ -37,7 +37,7 @@ public class ZuulCompilerAutoConfiguration extends CompilerAutoConfiguration {
public void applyDependencies(DependencyCustomizer dependencies) {
dependencies
.ifAnyMissingClasses("org.springframework.cloud.netflix.zuul.EnableZuulProxy")
- .add("spring-cloud-starter-zuul");
+ .add("spring-cloud-starter-netflix-zuul");
}
@Override
diff --git a/spring-cloud-launcher/spring-cloud-launcher-configserver/pom.xml b/spring-cloud-launcher/spring-cloud-launcher-configserver/pom.xml
index ddaa10b..2854760 100644
--- a/spring-cloud-launcher/spring-cloud-launcher-configserver/pom.xml
+++ b/spring-cloud-launcher/spring-cloud-launcher-configserver/pom.xml
@@ -23,7 +23,7 @@
org.springframework.cloud
- spring-cloud-starter-eureka
+ spring-cloud-starter-netflix-eureka-client
org.springframework.cloud
diff --git a/spring-cloud-launcher/spring-cloud-launcher-dataflow/pom.xml b/spring-cloud-launcher/spring-cloud-launcher-dataflow/pom.xml
index b0147fe..09bf2ea 100644
--- a/spring-cloud-launcher/spring-cloud-launcher-dataflow/pom.xml
+++ b/spring-cloud-launcher/spring-cloud-launcher-dataflow/pom.xml
@@ -43,7 +43,7 @@
org.springframework.cloud
- spring-cloud-starter-eureka
+ spring-cloud-starter-netflix-eureka-client
org.springframework.cloud
diff --git a/spring-cloud-launcher/spring-cloud-launcher-h2/pom.xml b/spring-cloud-launcher/spring-cloud-launcher-h2/pom.xml
index ffde0ef..745cbc9 100644
--- a/spring-cloud-launcher/spring-cloud-launcher-h2/pom.xml
+++ b/spring-cloud-launcher/spring-cloud-launcher-h2/pom.xml
@@ -39,7 +39,7 @@
org.springframework.cloud
- spring-cloud-starter-eureka
+ spring-cloud-starter-netflix-eureka-client
org.springframework.boot
diff --git a/spring-cloud-launcher/spring-cloud-launcher-hystrixdashboard/pom.xml b/spring-cloud-launcher/spring-cloud-launcher-hystrixdashboard/pom.xml
index f3fee89..4e7de3b 100644
--- a/spring-cloud-launcher/spring-cloud-launcher-hystrixdashboard/pom.xml
+++ b/spring-cloud-launcher/spring-cloud-launcher-hystrixdashboard/pom.xml
@@ -27,7 +27,7 @@
org.springframework.cloud
- spring-cloud-starter-eureka
+ spring-cloud-starter-netflix-eureka-client
org.springframework.cloud
@@ -35,7 +35,7 @@
org.springframework.cloud
- spring-cloud-starter-hystrix-dashboard
+ spring-cloud-starter-netflix-hystrix-dashboard
org.springframework.boot
diff --git a/spring-cloud-launcher/spring-cloud-launcher-kafka/src/main/java/org/springframework/cloud/launcher/kafka/KafkaApplication.java b/spring-cloud-launcher/spring-cloud-launcher-kafka/src/main/java/org/springframework/cloud/launcher/kafka/KafkaApplication.java
index 348d2c0..3756e4c 100644
--- a/spring-cloud-launcher/spring-cloud-launcher-kafka/src/main/java/org/springframework/cloud/launcher/kafka/KafkaApplication.java
+++ b/spring-cloud-launcher/spring-cloud-launcher-kafka/src/main/java/org/springframework/cloud/launcher/kafka/KafkaApplication.java
@@ -25,7 +25,7 @@ import org.I0Itec.zkclient.ZkClient;
import org.I0Itec.zkclient.exception.ZkInterruptedException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.kafka.common.protocol.SecurityProtocol;
+import org.apache.kafka.common.utils.Time;
import org.apache.kafka.common.utils.Utils;
import org.apache.zookeeper.server.NIOServerCnxnFactory;
import org.apache.zookeeper.server.ZooKeeperServer;
@@ -41,12 +41,13 @@ import kafka.server.KafkaConfig;
import kafka.server.KafkaServer;
import kafka.server.NotRunning;
import kafka.utils.CoreUtils;
-import kafka.utils.SystemTime$;
import kafka.utils.TestUtils;
import kafka.utils.ZKStringSerializer$;
/**
* @author Spencer Gibb
+ *
+ * see https://github.com/spring-projects/spring-kafka/blob/2.0.x/spring-kafka-test/src/main/java/org/springframework/kafka/test/rule/KafkaEmbedded.java
*/
@SpringBootApplication
public class KafkaApplication {
@@ -108,10 +109,10 @@ public class KafkaApplication {
boolean enableControlledShutdown = true;
Properties brokerConfigProperties = TestUtils.createBrokerConfig(
nodeId, zkConnectString, enableControlledShutdown, true,
- port, scala.Option.apply(null),
- scala.Option.apply(null),
- scala.Option.apply(null), true, false, 0,
- false, 0, false, 0, scala.Option.apply(null));
+ port, scala.Option.apply(null),
+ scala.Option.apply(null),
+ scala.Option.apply(null), true, false, 0,
+ false, 0, false, 0, scala.Option.apply(null), 1);
brokerConfigProperties.setProperty("replica.socket.timeout.ms",
"1000");
brokerConfigProperties.setProperty("controller.socket.timeout.ms",
@@ -121,7 +122,7 @@ public class KafkaApplication {
brokerConfigProperties.put("zookeeper.connect", zkConnectString);
kafkaServer = TestUtils.createServer(
new KafkaConfig(brokerConfigProperties),
- SystemTime$.MODULE$);
+ Time.SYSTEM);
log.info("Created Kafka server at "
+ kafkaServer.config().hostName() + ":"
+ kafkaServer.config().port());
diff --git a/spring-cloud-launcher/spring-cloud-launcher-stubrunner/pom.xml b/spring-cloud-launcher/spring-cloud-launcher-stubrunner/pom.xml
index dbf6179..5f19035 100644
--- a/spring-cloud-launcher/spring-cloud-launcher-stubrunner/pom.xml
+++ b/spring-cloud-launcher/spring-cloud-launcher-stubrunner/pom.xml
@@ -13,7 +13,7 @@
org.springframework.cloud
spring-cloud-launcher
- 1.4.1.BUILD-SNAPSHOT
+ 2.0.0.BUILD-SNAPSHOT
diff --git a/spring-cloud-launcher/spring-cloud-launcher-zipkin/pom.xml b/spring-cloud-launcher/spring-cloud-launcher-zipkin/pom.xml
index 2038346..925fc10 100644
--- a/spring-cloud-launcher/spring-cloud-launcher-zipkin/pom.xml
+++ b/spring-cloud-launcher/spring-cloud-launcher-zipkin/pom.xml
@@ -27,7 +27,7 @@
org.springframework.cloud
- spring-cloud-starter-eureka
+ spring-cloud-starter-netflix-eureka-client
io.zipkin.java
diff --git a/spring-cloud-launcher/spring-cloud-launcher-zipkin/src/main/java/org/springframework/cloud/launcher/zipkin/ZipkinServerApplication.java b/spring-cloud-launcher/spring-cloud-launcher-zipkin/src/main/java/org/springframework/cloud/launcher/zipkin/ZipkinServerApplication.java
index e7ff302..5695265 100644
--- a/spring-cloud-launcher/spring-cloud-launcher-zipkin/src/main/java/org/springframework/cloud/launcher/zipkin/ZipkinServerApplication.java
+++ b/spring-cloud-launcher/spring-cloud-launcher-zipkin/src/main/java/org/springframework/cloud/launcher/zipkin/ZipkinServerApplication.java
@@ -16,20 +16,81 @@
package org.springframework.cloud.launcher.zipkin;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
-
-import zipkin.server.EnableZipkinServer;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Condition;
+import org.springframework.context.annotation.ConditionContext;
+import org.springframework.context.annotation.Conditional;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Import;
+import org.springframework.core.type.AnnotatedTypeMetadata;
+import zipkin.collector.CollectorMetrics;
+import zipkin.collector.CollectorSampler;
+import zipkin.internal.V2StorageComponent;
+import zipkin.server.ZipkinHttpCollector;
+import zipkin.server.ZipkinQueryApiV1;
+import zipkin.server.brave.BraveConfiguration;
+import zipkin.storage.StorageComponent;
+import zipkin2.storage.InMemoryStorage;
/**
* @author Spencer Gibb
*/
-@EnableZipkinServer
+// @EnableZipkinServer
+@Import({/*ZipkinServerConfiguration.class,*/ BraveConfiguration.class, ZipkinQueryApiV1.class, ZipkinHttpCollector.class})
@EnableDiscoveryClient
@SpringBootApplication
public class ZipkinServerApplication {
+
+ @Bean
+ @ConditionalOnMissingBean({CollectorSampler.class})
+ CollectorSampler traceIdSampler(@Value("${zipkin.collector.sample-rate:1.0}") float rate) {
+ return CollectorSampler.create(rate);
+ }
+
+ @Bean
+ CollectorMetrics metrics() {
+ return CollectorMetrics.NOOP_METRICS;
+ }
+
+ static final class StorageTypeMemAbsentOrEmpty implements Condition {
+ StorageTypeMemAbsentOrEmpty() {
+ }
+
+ public boolean matches(ConditionContext condition, AnnotatedTypeMetadata ignored) {
+ String storageType = condition.getEnvironment().getProperty("zipkin.storage.type");
+ if (storageType == null) {
+ return true;
+ } else {
+ storageType = storageType.trim();
+ return storageType.isEmpty() ? true : storageType.equals("mem");
+ }
+ }
+ }
+
+ @Configuration
+ @Conditional({ZipkinServerApplication.StorageTypeMemAbsentOrEmpty.class})
+ @ConditionalOnMissingBean({StorageComponent.class})
+ static class InMemoryConfiguration {
+ InMemoryConfiguration() {
+ }
+
+ @Bean
+ StorageComponent storage(@Value("${zipkin.storage.strict-trace-id:true}") boolean strictTraceId, @Value("${zipkin.storage.mem.max-spans:500000}") int maxSpans) {
+ return V2StorageComponent.create(InMemoryStorage.newBuilder().strictTraceId(strictTraceId).maxSpanCount(maxSpans).build());
+ }
+
+ @Bean
+ InMemoryStorage v2Storage(V2StorageComponent component) {
+ return (InMemoryStorage)component.delegate();
+ }
+ }
+
public static void main(String[] args) {
SpringApplication.run(ZipkinServerApplication.class, args);
}