Skip to content

Instantly share code, notes, and snippets.

@dwelch2344
Created February 15, 2018 04:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dwelch2344/cc8610860a09590dd8dfe5b4418833d6 to your computer and use it in GitHub Desktop.
Save dwelch2344/cc8610860a09590dd8dfe5b4418833d6 to your computer and use it in GitHub Desktop.
package com.lightbend.akka.sample
import java.net.InetAddress
import akka.http.scaladsl.testkit.ScalatestRouteTest
import com.ecwid.consul.v1.ConsulClient
import com.netflix.client.config.IClientConfig
import com.netflix.loadbalancer.{Server, ServerList}
import org.scalatest._
import org.springframework.beans.factory.annotation.Value
import org.springframework.boot.autoconfigure.EnableAutoConfiguration
import org.springframework.boot.context.properties.EnableConfigurationProperties
import org.springframework.cloud.client.discovery.EnableDiscoveryClient
import org.springframework.cloud.client.loadbalancer.LoadBalanced
import org.springframework.cloud.commons.util.{InetUtils, InetUtilsProperties}
import org.springframework.cloud.consul.config.{ConsulConfigAutoConfiguration, ConsulConfigProperties}
import org.springframework.cloud.consul.discovery._
import org.springframework.cloud.consul.discovery.configclient.ConsulConfigServerAutoConfiguration
import org.springframework.cloud.consul.serviceregistry.{ConsulAutoServiceRegistrationAutoConfiguration, ConsulServiceRegistryAutoConfiguration}
import org.springframework.cloud.netflix.ribbon.{RibbonAutoConfiguration, RibbonClientConfiguration}
import org.springframework.context.annotation.{AnnotationConfigApplicationContext, Configuration, PropertySource}
import org.springframework.web.client.RestTemplate
import org.springframework.context.annotation.Bean
import org.springframework.context.support.PropertySourcesPlaceholderConfigurer
@Configuration
@EnableDiscoveryClient
@EnableAutoConfiguration
@EnableConfigurationProperties
@PropertySource(Array[String]("classpath:application.yml"))
class ExampleConfig {
@Bean
@LoadBalanced
def restTemplate() :RestTemplate = new RestTemplate()
}
class BootTest extends WordSpec with Matchers with ScalatestRouteTest {
override def withFixture(test: NoArgTest): Outcome = {
// seed data here?
try test()
finally {
// clean up data here
}
}
"Consul" can {
"Be Configured" should {
"do ribbon" in {
val ctx = new AnnotationConfigApplicationContext
// classOf[ConsulConfigServerAutoConfiguration],
Seq[Class[_]](
classOf[RibbonAutoConfiguration],
classOf[RibbonClientConfiguration],
classOf[ConsulDiscoveryClientConfiguration],
classOf[ConsulRibbonClientConfiguration],
classOf[RibbonConsulAutoConfiguration],
classOf[ConsulConfigAutoConfiguration],
classOf[ConsulAutoServiceRegistrationAutoConfiguration],
classOf[ConsulServiceRegistryAutoConfiguration],
classOf[ExampleConfig]
).foreach{ c =>
ctx.register(c)
}
ctx.refresh()
def rt = ctx.getBean(classOf[RestTemplate])
var res = rt.getForObject("http://application/", classOf[String])
println(res)
}
}
}
}
name := "akka-quickstart-scala"
version := "1.1"
scalaVersion := "2.12.2"
lazy val akkaVersion = "2.5.3"
libraryDependencies ++= {
val akkaHttpV = "10.0.+"
Seq(
"com.typesafe.akka" %% "akka-actor" % akkaVersion,
"com.typesafe.akka" %% "akka-testkit" % akkaVersion,
"org.scalatest" %% "scalatest" % "3.0.1" % "test",
"com.typesafe.akka" %% "akka-http" % akkaHttpV,
"com.typesafe.akka" %% "akka-http-testkit" % akkaHttpV % "test",
"com.typesafe.akka" %% "akka-stream" % "2.5.8",
"com.typesafe.akka" %% "akka-http-spray-json" % "10.1.0-RC2",
"com.google.inject" % "guice" % "4.1.0",
"org.springframework.cloud" % "spring-cloud-starter-consul-all" % "1.3.2.RELEASE",,
"org.springframework.cloud" % "spring-cloud-consul-core" % "1.3.2.RELEASE",
"org.springframework.cloud" % "spring-cloud-consul-binder" % "1.3.2.RELEASE",
"org.springframework.cloud" % "spring-cloud-consul-config" % "1.3.2.RELEASE",
"org.springframework.cloud" % "spring-cloud-consul-discovery" % "1.3.2.RELEASE",
"org.springframework.cloud" % "spring-cloud-starter-consul" % "1.3.2.RELEASE",
"org.springframework.cloud" % "spring-cloud-starter-consul-bus" % "1.3.2.RELEASE",
"org.springframework.cloud" % "spring-cloud-starter-consul-config" % "1.3.2.RELEASE",
"org.springframework.cloud" % "spring-cloud-starter-consul-discovery" % "1.3.2.RELEASE",
"org.springframework.cloud" % "spring-cloud-starter-consul-all" % "1.3.2.RELEASE"
)
}
resolvers += Resolver.mavenLocal
21:05:42,057 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
21:05:42,058 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
21:05:42,058 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [file:/Users/dave/workspace/scala/akka-quickstart-scala/target/scala-2.12/test-classes/logback.xml]
21:05:42,058 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback.xml] occurs multiple times on the classpath.
21:05:42,058 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback.xml] occurs at [file:/Users/dave/workspace/scala/akka-quickstart-scala/target/scala-2.12/classes/logback.xml]
21:05:42,058 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback.xml] occurs at [file:/Users/dave/workspace/scala/akka-quickstart-scala/target/scala-2.12/test-classes/logback.xml]
21:05:42,163 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set
21:05:42,164 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]
21:05:42,173 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [STDOUT]
21:05:42,208 |-WARN in ch.qos.logback.core.ConsoleAppender[STDOUT] - This appender no longer admits a layout as a sub-component, set an encoder instead.
21:05:42,208 |-WARN in ch.qos.logback.core.ConsoleAppender[STDOUT] - To ensure compatibility, wrapping your layout in LayoutWrappingEncoder.
21:05:42,208 |-WARN in ch.qos.logback.core.ConsoleAppender[STDOUT] - See also http://logback.qos.ch/codes.html#layoutInsteadOfEncoder for details
21:05:42,209 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [com.lightbend] to DEBUG
21:05:42,209 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting additivity of logger [com.lightbend] to false
21:05:42,209 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [STDOUT] to Logger[com.lightbend]
21:05:42,209 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to ERROR
21:05:42,209 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [STDOUT] to Logger[ROOT]
21:05:42,209 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.
21:05:42,210 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@3122b117 - Registering current configuration as safe fallback point
2018-02-14 21:05:48 [ScalaTest-run-running-BootTest] DEBUG o.s.b.l.ClasspathLoggingApplicationListener - Application started with classpath: [file:/Users/dave/Library/Application%20Support/IntelliJIdea2017.3/Scala/lib/runners.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/charsets.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/deploy.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/ext/cldrdata.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/ext/dnsns.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/ext/jaccess.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/ext/jfxrt.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/ext/localedata.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/ext/nashorn.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/ext/sunec.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/ext/sunjce_provider.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/ext/sunpkcs11.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/ext/zipfs.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/javaws.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/jce.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/jfr.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/jfxswt.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/jsse.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/management-agent.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/plugin.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/resources.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/rt.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/lib/ant-javafx.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/lib/dt.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/lib/javafx-mx.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/lib/jconsole.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/lib/packager.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/lib/sa-jdi.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/lib/tools.jar, file:/Users/dave/workspace/scala/akka-quickstart-scala/target/scala-2.12/test-classes/, file:/Users/dave/workspace/scala/akka-quickstart-scala/target/scala-2.12/classes/, file:/Users/dave/.ivy2/cache/org.scala-lang.modules/scala-parser-combinators_2.12/bundles/scala-parser-combinators_2.12-1.0.4.jar, file:/Users/dave/.ivy2/cache/org.yaml/snakeyaml/bundles/snakeyaml-1.17.jar, file:/Users/dave/.ivy2/cache/org.springframework.security/spring-security-rsa/jars/spring-security-rsa-1.0.3.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.security/spring-security-crypto/jars/spring-security-crypto-4.2.4.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.retry/spring-retry/jars/spring-retry-1.2.1.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.integration/spring-integration-tuple/jars/spring-integration-tuple-1.0.0.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.integration/spring-integration-jmx/jars/spring-integration-jmx-4.3.12.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.integration/spring-integration-core/jars/spring-integration-core-4.3.14.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.cloud/spring-cloud-stream/jars/spring-cloud-stream-1.3.2.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.cloud/spring-cloud-starter-ribbon/jars/spring-cloud-starter-ribbon-1.4.3.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.cloud/spring-cloud-starter-netflix-ribbon/jars/spring-cloud-starter-netflix-ribbon-1.4.3.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.cloud/spring-cloud-starter-netflix-archaius/jars/spring-cloud-starter-netflix-archaius-1.4.3.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.cloud/spring-cloud-starter-consul-discovery/jars/spring-cloud-starter-consul-discovery-1.3.2.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.cloud/spring-cloud-starter-consul-config/jars/spring-cloud-starter-consul-config-1.3.2.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.cloud/spring-cloud-starter-consul-bus/jars/spring-cloud-starter-consul-bus-1.3.2.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.cloud/spring-cloud-starter-consul-all/jars/spring-cloud-starter-consul-all-1.3.2.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.cloud/spring-cloud-starter-consul/jars/spring-cloud-starter-consul-1.3.2.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.cloud/spring-cloud-starter/jars/spring-cloud-starter-1.3.2.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.cloud/spring-cloud-netflix-core/jars/spring-cloud-netflix-core-1.4.3.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.cloud/spring-cloud-context/jars/spring-cloud-context-1.3.2.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.cloud/spring-cloud-consul-discovery/jars/spring-cloud-consul-discovery-1.3.2.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.cloud/spring-cloud-consul-core/jars/spring-cloud-consul-core-1.3.2.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.cloud/spring-cloud-consul-config/jars/spring-cloud-consul-config-1.3.2.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.cloud/spring-cloud-consul-binder/jars/spring-cloud-consul-binder-1.3.2.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.cloud/spring-cloud-commons/jars/spring-cloud-commons-1.3.2.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.cloud/spring-cloud-bus/jars/spring-cloud-bus-1.3.3.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.boot/spring-boot-starter-web/jars/spring-boot-starter-web-1.5.10.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.boot/spring-boot-starter-validation/jars/spring-boot-starter-validation-1.5.9.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.boot/spring-boot-starter-tomcat/jars/spring-boot-starter-tomcat-1.5.10.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.boot/spring-boot-starter-logging/jars/spring-boot-starter-logging-1.5.10.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.boot/spring-boot-starter-actuator/jars/spring-boot-starter-actuator-1.5.9.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.boot/spring-boot-starter/jars/spring-boot-starter-1.5.10.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.boot/spring-boot-autoconfigure/jars/spring-boot-autoconfigure-1.5.10.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.boot/spring-boot-actuator/jars/spring-boot-actuator-1.5.9.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.boot/spring-boot/jars/spring-boot-1.5.10.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework/spring-webmvc/jars/spring-webmvc-4.3.14.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework/spring-web/jars/spring-web-4.3.14.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework/spring-tx/jars/spring-tx-4.3.14.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework/spring-tuple/jars/spring-tuple-1.0.0.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework/spring-messaging/jars/spring-messaging-4.3.14.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework/spring-expression/jars/spring-expression-4.3.14.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework/spring-core/jars/spring-core-4.3.14.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework/spring-context/jars/spring-context-4.3.14.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework/spring-beans/jars/spring-beans-4.3.14.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework/spring-aop/jars/spring-aop-4.3.14.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.slf4j/slf4j-api/jars/slf4j-api-1.7.25.jar, file:/Users/dave/.ivy2/cache/org.slf4j/log4j-over-slf4j/jars/log4j-over-slf4j-1.7.25.jar, file:/Users/dave/.ivy2/cache/org.slf4j/jul-to-slf4j/jars/jul-to-slf4j-1.7.25.jar, file:/Users/dave/.ivy2/cache/org.slf4j/jcl-over-slf4j/jars/jcl-over-slf4j-1.7.25.jar, file:/Users/dave/.ivy2/cache/org.objenesis/objenesis/jars/objenesis-2.1.jar, file:/Users/dave/.ivy2/cache/org.jboss.logging/jboss-logging/jars/jboss-logging-3.3.0.Final.jar, file:/Users/dave/.ivy2/cache/org.hibernate/hibernate-validator/jars/hibernate-validator-5.3.6.Final.jar, file:/Users/dave/.ivy2/cache/org.bouncycastle/bcprov-jdk15on/jars/bcprov-jdk15on-1.55.jar, file:/Users/dave/.ivy2/cache/org.bouncycastle/bcpkix-jdk15on/jars/bcpkix-jdk15on-1.55.jar, file:/Users/dave/.ivy2/cache/org.apache.tomcat.embed/tomcat-embed-websocket/jars/tomcat-embed-websocket-8.5.27.jar, file:/Users/dave/.ivy2/cache/org.apache.tomcat.embed/tomcat-embed-el/jars/tomcat-embed-el-8.5.27.jar, file:/Users/dave/.ivy2/cache/org.apache.tomcat.embed/tomcat-embed-core/jars/tomcat-embed-core-8.5.27.jar, file:/Users/dave/.ivy2/cache/org.apache.tomcat/tomcat-annotations-api/jars/tomcat-annotations-api-8.5.27.jar, file:/Users/dave/.ivy2/cache/org.apache.httpcomponents/httpcore/jars/httpcore-4.4.5.jar, file:/Users/dave/.ivy2/cache/org.apache.httpcomponents/httpclient/jars/httpclient-4.5.2.jar, file:/Users/dave/.ivy2/cache/joda-time/joda-time/jars/joda-time-2.7.jar, file:/Users/dave/.ivy2/cache/javax.validation/validation-api/jars/validation-api-1.1.0.Final.jar, file:/Users/dave/.ivy2/cache/io.reactivex/rxnetty-servo/jars/rxnetty-servo-0.4.9.jar, file:/Users/dave/.ivy2/cache/io.reactivex/rxnetty-contexts/jars/rxnetty-contexts-0.4.9.jar, file:/Users/dave/.ivy2/cache/io.reactivex/rxnetty/jars/rxnetty-0.4.9.jar, file:/Users/dave/.ivy2/cache/io.reactivex/rxjava/jars/rxjava-1.2.0.jar, file:/Users/dave/.ivy2/cache/io.netty/netty-transport-native-epoll/jars/netty-transport-native-epoll-4.0.27.Final.jar, file:/Users/dave/.ivy2/cache/io.netty/netty-transport/jars/netty-transport-4.0.27.Final.jar, file:/Users/dave/.ivy2/cache/io.netty/netty-handler/jars/netty-handler-4.0.27.Final.jar, file:/Users/dave/.ivy2/cache/io.netty/netty-common/jars/netty-common-4.0.27.Final.jar, file:/Users/dave/.ivy2/cache/io.netty/netty-codec-http/jars/netty-codec-http-4.0.27.Final.jar, file:/Users/dave/.ivy2/cache/io.netty/netty-codec/jars/netty-codec-4.0.27.Final.jar, file:/Users/dave/.ivy2/cache/io.netty/netty-buffer/jars/netty-buffer-4.0.27.Final.jar, file:/Users/dave/.ivy2/cache/commons-lang/commons-lang/jars/commons-lang-2.6.jar, file:/Users/dave/.ivy2/cache/commons-configuration/commons-configuration/jars/commons-configuration-1.8.jar, file:/Users/dave/.ivy2/cache/commons-collections/commons-collections/jars/commons-collections-3.2.2.jar, file:/Users/dave/.ivy2/cache/commons-codec/commons-codec/jars/commons-codec-1.9.jar, file:/Users/dave/.ivy2/cache/com.sun.jersey.contribs/jersey-apache-client4/jars/jersey-apache-client4-1.19.1.jar, file:/Users/dave/.ivy2/cache/com.sun.jersey/jersey-client/jars/jersey-client-1.19.1.jar, file:/Users/dave/.ivy2/cache/com.netflix.servo/servo-internal/jars/servo-internal-0.10.1.jar, file:/Users/dave/.ivy2/cache/com.netflix.servo/servo-core/jars/servo-core-0.10.1.jar, file:/Users/dave/.ivy2/cache/com.netflix.ribbon/ribbon-transport/jars/ribbon-transport-2.2.4.jar, file:/Users/dave/.ivy2/cache/com.netflix.ribbon/ribbon-loadbalancer/jars/ribbon-loadbalancer-2.2.4.jar, file:/Users/dave/.ivy2/cache/com.netflix.ribbon/ribbon-httpclient/jars/ribbon-httpclient-2.2.4.jar, file:/Users/dave/.ivy2/cache/com.netflix.ribbon/ribbon-core/jars/ribbon-core-2.2.4.jar, file:/Users/dave/.ivy2/cache/com.netflix.ribbon/ribbon/jars/ribbon-2.2.4.jar, file:/Users/dave/.ivy2/cache/com.netflix.netflix-commons/netflix-statistics/jars/netflix-statistics-0.1.1.jar, file:/Users/dave/.ivy2/cache/com.netflix.netflix-commons/netflix-commons-util/jars/netflix-commons-util-0.1.1.jar, file:/Users/dave/.ivy2/cache/com.netflix.hystrix/hystrix-core/jars/hystrix-core-1.4.3.jar, file:/Users/dave/.ivy2/cache/com.netflix.archaius/archaius-core/jars/archaius-core-0.7.4.jar, file:/Users/dave/.ivy2/cache/com.google.code.gson/gson/jars/gson-2.3.1.jar, file:/Users/dave/.ivy2/cache/com.google.code.findbugs/jsr305/jars/jsr305-3.0.1.jar, file:/Users/dave/.ivy2/cache/com.google.code.findbugs/annotations/jars/annotations-2.0.0.jar, file:/Users/dave/.ivy2/cache/com.fasterxml.jackson.core/jackson-databind/bundles/jackson-databind-2.8.10.jar, file:/Users/dave/.ivy2/cache/com.fasterxml.jackson.core/jackson-core/bundles/jackson-core-2.8.10.jar, file:/Users/dave/.ivy2/cache/com.fasterxml.jackson.core/jackson-annotations/bundles/jackson-annotations-2.8.0.jar, file:/Users/dave/.ivy2/cache/com.fasterxml/classmate/bundles/classmate-1.3.1.jar, file:/Users/dave/.ivy2/cache/com.esotericsoftware/minlog/bundles/minlog-1.3.0.jar, file:/Users/dave/.ivy2/cache/com.esotericsoftware/kryo-shaded/bundles/kryo-shaded-3.0.3.jar, file:/Users/dave/.ivy2/cache/com.ecwid.consul/consul-api/jars/consul-api-1.3.0.jar, file:/Users/dave/.ivy2/cache/ch.qos.logback/logback-core/jars/logback-core-1.1.11.jar, file:/Users/dave/.ivy2/cache/ch.qos.logback/logback-classic/jars/logback-classic-1.1.11.jar, file:/Users/dave/.ivy2/cache/io.spray/spray-json_2.12/bundles/spray-json_2.12-1.3.4.jar, file:/Users/dave/.ivy2/cache/com.typesafe.akka/akka-parsing_2.12/jars/akka-parsing_2.12-10.1.0-RC2.jar, file:/Users/dave/.ivy2/cache/com.typesafe.akka/akka-http_2.12/jars/akka-http_2.12-10.1.0-RC2.jar, file:/Users/dave/.ivy2/cache/com.typesafe.akka/akka-http-spray-json_2.12/jars/akka-http-spray-json_2.12-10.1.0-RC2.jar, file:/Users/dave/.ivy2/cache/com.typesafe.akka/akka-http-core_2.12/jars/akka-http-core_2.12-10.1.0-RC2.jar, file:/Users/dave/.ivy2/cache/com.typesafe.akka/akka-stream-testkit_2.12/jars/akka-stream-testkit_2.12-2.4.20.jar, file:/Users/dave/.ivy2/cache/com.typesafe.akka/akka-http-testkit_2.12/jars/akka-http-testkit_2.12-10.0.11.jar, file:/Users/dave/.ivy2/cache/com.typesafe.akka/akka-testkit_2.12/jars/akka-testkit_2.12-2.5.3.jar, file:/Users/dave/.ivy2/cache/org.scala-lang/scala-library/jars/scala-library-2.12.2.jar, file:/Users/dave/.ivy2/cache/org.scala-lang/scala-reflect/jars/scala-reflect-2.12.2.jar, file:/Users/dave/.ivy2/cache/org.scala-lang.modules/scala-java8-compat_2.12/bundles/scala-java8-compat_2.12-0.8.0.jar, file:/Users/dave/.ivy2/cache/org.scala-lang.modules/scala-xml_2.12/bundles/scala-xml_2.12-1.0.5.jar, file:/Users/dave/.ivy2/cache/org.scalactic/scalactic_2.12/bundles/scalactic_2.12-3.0.1.jar, file:/Users/dave/.ivy2/cache/org.scalatest/scalatest_2.12/bundles/scalatest_2.12-3.0.1.jar, file:/Users/dave/.ivy2/cache/com.typesafe/config/bundles/config-1.3.2.jar, file:/Users/dave/.ivy2/cache/com.typesafe/ssl-config-core_2.12/bundles/ssl-config-core_2.12-0.2.2.jar, file:/Users/dave/.ivy2/cache/com.typesafe.akka/akka-actor_2.12/jars/akka-actor_2.12-2.5.8.jar, file:/Users/dave/.ivy2/cache/com.typesafe.akka/akka-stream_2.12/jars/akka-stream_2.12-2.5.8.jar, file:/Users/dave/.ivy2/cache/org.reactivestreams/reactive-streams/jars/reactive-streams-1.0.1.jar, file:/Users/dave/.ivy2/cache/aopalliance/aopalliance/jars/aopalliance-1.0.jar, file:/Users/dave/.ivy2/cache/com.google.guava/guava/bundles/guava-19.0.jar, file:/Users/dave/.ivy2/cache/com.google.inject/guice/jars/guice-4.1.0.jar, file:/Users/dave/.ivy2/cache/javax.inject/javax.inject/jars/javax.inject-1.jar, file:/Applications/IntelliJ%20IDEA.app/Contents/lib/idea_rt.jar, file:/Users/dave/Library/Caches/IntelliJIdea2017.3/captureAgent/debugger-agent.jar, file:/Applications/IntelliJ%20IDEA.app/Contents/lib/asm-all.jar]
2018-02-14 21:05:48 [ScalaTest-run-running-BootTest] DEBUG o.s.boot.SpringApplication - Loading source class org.springframework.cloud.bootstrap.config.PropertySourceBootstrapConfiguration,class org.springframework.cloud.bootstrap.encrypt.EncryptionBootstrapConfiguration,class org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration,class org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration,class org.springframework.cloud.consul.config.ConsulConfigBootstrapConfiguration
2018-02-14 21:05:48 [ScalaTest-run-running-BootTest] DEBUG o.s.b.a.l.AutoConfigurationReportLoggingInitializer -
=========================
AUTO-CONFIGURATION REPORT
=========================
Positive matches:
-----------------
ConfigurationPropertiesRebinderAutoConfiguration matched:
- @ConditionalOnBean (types: org.springframework.boot.context.properties.ConfigurationPropertiesBindingPostProcessor; SearchStrategy: all) found bean 'org.springframework.boot.context.properties.ConfigurationPropertiesBindingPostProcessor' (OnBeanCondition)
ConfigurationPropertiesRebinderAutoConfiguration#configurationPropertiesBeans matched:
- @ConditionalOnMissingBean (types: org.springframework.cloud.context.properties.ConfigurationPropertiesBeans; SearchStrategy: current) did not find any beans (OnBeanCondition)
ConfigurationPropertiesRebinderAutoConfiguration#configurationPropertiesRebinder matched:
- @ConditionalOnMissingBean (types: org.springframework.cloud.context.properties.ConfigurationPropertiesRebinder; SearchStrategy: current) did not find any beans (OnBeanCondition)
ConsulConfigBootstrapConfiguration matched:
- AllNestedConditions 2 matched 0 did not; NestedCondition on ConditionalOnConsulEnabled.OnConsulEnabledCondition.FoundClass @ConditionalOnClass found required class 'com.ecwid.consul.v1.ConsulClient'; @ConditionalOnMissingClass did not find unwanted class; NestedCondition on ConditionalOnConsulEnabled.OnConsulEnabledCondition.FoundProperty @ConditionalOnProperty (spring.cloud.consul.enabled) matched (ConditionalOnConsulEnabled.OnConsulEnabledCondition)
EncryptionBootstrapConfiguration matched:
- @ConditionalOnClass found required class 'org.springframework.security.crypto.encrypt.TextEncryptor'; @ConditionalOnMissingClass did not find unwanted class (OnClassCondition)
PropertyPlaceholderAutoConfiguration#propertySourcesPlaceholderConfigurer matched:
- @ConditionalOnMissingBean (types: org.springframework.context.support.PropertySourcesPlaceholderConfigurer; SearchStrategy: current) did not find any beans (OnBeanCondition)
Negative matches:
-----------------
ConsulConfigBootstrapConfiguration.ConsulPropertySourceConfiguration:
Did not match:
- @ConditionalOnProperty (spring.cloud.consul.config.enabled) found different value in property 'spring.cloud.consul.config.enabled' (OnPropertyCondition)
EncryptionBootstrapConfiguration.RsaEncryptionConfiguration:
Did not match:
- Keystore nor key found in Environment (EncryptionBootstrapConfiguration.KeyCondition)
Matched:
- @ConditionalOnClass found required class 'org.springframework.security.rsa.crypto.RsaSecretEncryptor'; @ConditionalOnMissingClass did not find unwanted class (OnClassCondition)
EncryptionBootstrapConfiguration.VanillaEncryptionConfiguration:
Did not match:
- @ConditionalOnMissingClass found unwanted class 'org.springframework.security.rsa.crypto.RsaSecretEncryptor' (OnClassCondition)
Exclusions:
-----------
None
Unconditional classes:
----------------------
None
2018-02-14 21:05:49 [ScalaTest-run-running-BootTest] DEBUG o.s.b.l.ClasspathLoggingApplicationListener - Application started with classpath: [file:/Users/dave/Library/Application%20Support/IntelliJIdea2017.3/Scala/lib/runners.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/charsets.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/deploy.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/ext/cldrdata.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/ext/dnsns.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/ext/jaccess.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/ext/jfxrt.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/ext/localedata.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/ext/nashorn.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/ext/sunec.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/ext/sunjce_provider.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/ext/sunpkcs11.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/ext/zipfs.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/javaws.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/jce.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/jfr.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/jfxswt.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/jsse.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/management-agent.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/plugin.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/resources.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/rt.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/lib/ant-javafx.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/lib/dt.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/lib/javafx-mx.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/lib/jconsole.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/lib/packager.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/lib/sa-jdi.jar, file:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/lib/tools.jar, file:/Users/dave/workspace/scala/akka-quickstart-scala/target/scala-2.12/test-classes/, file:/Users/dave/workspace/scala/akka-quickstart-scala/target/scala-2.12/classes/, file:/Users/dave/.ivy2/cache/org.scala-lang.modules/scala-parser-combinators_2.12/bundles/scala-parser-combinators_2.12-1.0.4.jar, file:/Users/dave/.ivy2/cache/org.yaml/snakeyaml/bundles/snakeyaml-1.17.jar, file:/Users/dave/.ivy2/cache/org.springframework.security/spring-security-rsa/jars/spring-security-rsa-1.0.3.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.security/spring-security-crypto/jars/spring-security-crypto-4.2.4.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.retry/spring-retry/jars/spring-retry-1.2.1.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.integration/spring-integration-tuple/jars/spring-integration-tuple-1.0.0.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.integration/spring-integration-jmx/jars/spring-integration-jmx-4.3.12.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.integration/spring-integration-core/jars/spring-integration-core-4.3.14.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.cloud/spring-cloud-stream/jars/spring-cloud-stream-1.3.2.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.cloud/spring-cloud-starter-ribbon/jars/spring-cloud-starter-ribbon-1.4.3.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.cloud/spring-cloud-starter-netflix-ribbon/jars/spring-cloud-starter-netflix-ribbon-1.4.3.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.cloud/spring-cloud-starter-netflix-archaius/jars/spring-cloud-starter-netflix-archaius-1.4.3.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.cloud/spring-cloud-starter-consul-discovery/jars/spring-cloud-starter-consul-discovery-1.3.2.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.cloud/spring-cloud-starter-consul-config/jars/spring-cloud-starter-consul-config-1.3.2.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.cloud/spring-cloud-starter-consul-bus/jars/spring-cloud-starter-consul-bus-1.3.2.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.cloud/spring-cloud-starter-consul-all/jars/spring-cloud-starter-consul-all-1.3.2.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.cloud/spring-cloud-starter-consul/jars/spring-cloud-starter-consul-1.3.2.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.cloud/spring-cloud-starter/jars/spring-cloud-starter-1.3.2.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.cloud/spring-cloud-netflix-core/jars/spring-cloud-netflix-core-1.4.3.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.cloud/spring-cloud-context/jars/spring-cloud-context-1.3.2.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.cloud/spring-cloud-consul-discovery/jars/spring-cloud-consul-discovery-1.3.2.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.cloud/spring-cloud-consul-core/jars/spring-cloud-consul-core-1.3.2.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.cloud/spring-cloud-consul-config/jars/spring-cloud-consul-config-1.3.2.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.cloud/spring-cloud-consul-binder/jars/spring-cloud-consul-binder-1.3.2.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.cloud/spring-cloud-commons/jars/spring-cloud-commons-1.3.2.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.cloud/spring-cloud-bus/jars/spring-cloud-bus-1.3.3.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.boot/spring-boot-starter-web/jars/spring-boot-starter-web-1.5.10.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.boot/spring-boot-starter-validation/jars/spring-boot-starter-validation-1.5.9.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.boot/spring-boot-starter-tomcat/jars/spring-boot-starter-tomcat-1.5.10.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.boot/spring-boot-starter-logging/jars/spring-boot-starter-logging-1.5.10.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.boot/spring-boot-starter-actuator/jars/spring-boot-starter-actuator-1.5.9.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.boot/spring-boot-starter/jars/spring-boot-starter-1.5.10.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.boot/spring-boot-autoconfigure/jars/spring-boot-autoconfigure-1.5.10.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.boot/spring-boot-actuator/jars/spring-boot-actuator-1.5.9.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework.boot/spring-boot/jars/spring-boot-1.5.10.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework/spring-webmvc/jars/spring-webmvc-4.3.14.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework/spring-web/jars/spring-web-4.3.14.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework/spring-tx/jars/spring-tx-4.3.14.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework/spring-tuple/jars/spring-tuple-1.0.0.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework/spring-messaging/jars/spring-messaging-4.3.14.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework/spring-expression/jars/spring-expression-4.3.14.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework/spring-core/jars/spring-core-4.3.14.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework/spring-context/jars/spring-context-4.3.14.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework/spring-beans/jars/spring-beans-4.3.14.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.springframework/spring-aop/jars/spring-aop-4.3.14.RELEASE.jar, file:/Users/dave/.ivy2/cache/org.slf4j/slf4j-api/jars/slf4j-api-1.7.25.jar, file:/Users/dave/.ivy2/cache/org.slf4j/log4j-over-slf4j/jars/log4j-over-slf4j-1.7.25.jar, file:/Users/dave/.ivy2/cache/org.slf4j/jul-to-slf4j/jars/jul-to-slf4j-1.7.25.jar, file:/Users/dave/.ivy2/cache/org.slf4j/jcl-over-slf4j/jars/jcl-over-slf4j-1.7.25.jar, file:/Users/dave/.ivy2/cache/org.objenesis/objenesis/jars/objenesis-2.1.jar, file:/Users/dave/.ivy2/cache/org.jboss.logging/jboss-logging/jars/jboss-logging-3.3.0.Final.jar, file:/Users/dave/.ivy2/cache/org.hibernate/hibernate-validator/jars/hibernate-validator-5.3.6.Final.jar, file:/Users/dave/.ivy2/cache/org.bouncycastle/bcprov-jdk15on/jars/bcprov-jdk15on-1.55.jar, file:/Users/dave/.ivy2/cache/org.bouncycastle/bcpkix-jdk15on/jars/bcpkix-jdk15on-1.55.jar, file:/Users/dave/.ivy2/cache/org.apache.tomcat.embed/tomcat-embed-websocket/jars/tomcat-embed-websocket-8.5.27.jar, file:/Users/dave/.ivy2/cache/org.apache.tomcat.embed/tomcat-embed-el/jars/tomcat-embed-el-8.5.27.jar, file:/Users/dave/.ivy2/cache/org.apache.tomcat.embed/tomcat-embed-core/jars/tomcat-embed-core-8.5.27.jar, file:/Users/dave/.ivy2/cache/org.apache.tomcat/tomcat-annotations-api/jars/tomcat-annotations-api-8.5.27.jar, file:/Users/dave/.ivy2/cache/org.apache.httpcomponents/httpcore/jars/httpcore-4.4.5.jar, file:/Users/dave/.ivy2/cache/org.apache.httpcomponents/httpclient/jars/httpclient-4.5.2.jar, file:/Users/dave/.ivy2/cache/joda-time/joda-time/jars/joda-time-2.7.jar, file:/Users/dave/.ivy2/cache/javax.validation/validation-api/jars/validation-api-1.1.0.Final.jar, file:/Users/dave/.ivy2/cache/io.reactivex/rxnetty-servo/jars/rxnetty-servo-0.4.9.jar, file:/Users/dave/.ivy2/cache/io.reactivex/rxnetty-contexts/jars/rxnetty-contexts-0.4.9.jar, file:/Users/dave/.ivy2/cache/io.reactivex/rxnetty/jars/rxnetty-0.4.9.jar, file:/Users/dave/.ivy2/cache/io.reactivex/rxjava/jars/rxjava-1.2.0.jar, file:/Users/dave/.ivy2/cache/io.netty/netty-transport-native-epoll/jars/netty-transport-native-epoll-4.0.27.Final.jar, file:/Users/dave/.ivy2/cache/io.netty/netty-transport/jars/netty-transport-4.0.27.Final.jar, file:/Users/dave/.ivy2/cache/io.netty/netty-handler/jars/netty-handler-4.0.27.Final.jar, file:/Users/dave/.ivy2/cache/io.netty/netty-common/jars/netty-common-4.0.27.Final.jar, file:/Users/dave/.ivy2/cache/io.netty/netty-codec-http/jars/netty-codec-http-4.0.27.Final.jar, file:/Users/dave/.ivy2/cache/io.netty/netty-codec/jars/netty-codec-4.0.27.Final.jar, file:/Users/dave/.ivy2/cache/io.netty/netty-buffer/jars/netty-buffer-4.0.27.Final.jar, file:/Users/dave/.ivy2/cache/commons-lang/commons-lang/jars/commons-lang-2.6.jar, file:/Users/dave/.ivy2/cache/commons-configuration/commons-configuration/jars/commons-configuration-1.8.jar, file:/Users/dave/.ivy2/cache/commons-collections/commons-collections/jars/commons-collections-3.2.2.jar, file:/Users/dave/.ivy2/cache/commons-codec/commons-codec/jars/commons-codec-1.9.jar, file:/Users/dave/.ivy2/cache/com.sun.jersey.contribs/jersey-apache-client4/jars/jersey-apache-client4-1.19.1.jar, file:/Users/dave/.ivy2/cache/com.sun.jersey/jersey-client/jars/jersey-client-1.19.1.jar, file:/Users/dave/.ivy2/cache/com.netflix.servo/servo-internal/jars/servo-internal-0.10.1.jar, file:/Users/dave/.ivy2/cache/com.netflix.servo/servo-core/jars/servo-core-0.10.1.jar, file:/Users/dave/.ivy2/cache/com.netflix.ribbon/ribbon-transport/jars/ribbon-transport-2.2.4.jar, file:/Users/dave/.ivy2/cache/com.netflix.ribbon/ribbon-loadbalancer/jars/ribbon-loadbalancer-2.2.4.jar, file:/Users/dave/.ivy2/cache/com.netflix.ribbon/ribbon-httpclient/jars/ribbon-httpclient-2.2.4.jar, file:/Users/dave/.ivy2/cache/com.netflix.ribbon/ribbon-core/jars/ribbon-core-2.2.4.jar, file:/Users/dave/.ivy2/cache/com.netflix.ribbon/ribbon/jars/ribbon-2.2.4.jar, file:/Users/dave/.ivy2/cache/com.netflix.netflix-commons/netflix-statistics/jars/netflix-statistics-0.1.1.jar, file:/Users/dave/.ivy2/cache/com.netflix.netflix-commons/netflix-commons-util/jars/netflix-commons-util-0.1.1.jar, file:/Users/dave/.ivy2/cache/com.netflix.hystrix/hystrix-core/jars/hystrix-core-1.4.3.jar, file:/Users/dave/.ivy2/cache/com.netflix.archaius/archaius-core/jars/archaius-core-0.7.4.jar, file:/Users/dave/.ivy2/cache/com.google.code.gson/gson/jars/gson-2.3.1.jar, file:/Users/dave/.ivy2/cache/com.google.code.findbugs/jsr305/jars/jsr305-3.0.1.jar, file:/Users/dave/.ivy2/cache/com.google.code.findbugs/annotations/jars/annotations-2.0.0.jar, file:/Users/dave/.ivy2/cache/com.fasterxml.jackson.core/jackson-databind/bundles/jackson-databind-2.8.10.jar, file:/Users/dave/.ivy2/cache/com.fasterxml.jackson.core/jackson-core/bundles/jackson-core-2.8.10.jar, file:/Users/dave/.ivy2/cache/com.fasterxml.jackson.core/jackson-annotations/bundles/jackson-annotations-2.8.0.jar, file:/Users/dave/.ivy2/cache/com.fasterxml/classmate/bundles/classmate-1.3.1.jar, file:/Users/dave/.ivy2/cache/com.esotericsoftware/minlog/bundles/minlog-1.3.0.jar, file:/Users/dave/.ivy2/cache/com.esotericsoftware/kryo-shaded/bundles/kryo-shaded-3.0.3.jar, file:/Users/dave/.ivy2/cache/com.ecwid.consul/consul-api/jars/consul-api-1.3.0.jar, file:/Users/dave/.ivy2/cache/ch.qos.logback/logback-core/jars/logback-core-1.1.11.jar, file:/Users/dave/.ivy2/cache/ch.qos.logback/logback-classic/jars/logback-classic-1.1.11.jar, file:/Users/dave/.ivy2/cache/io.spray/spray-json_2.12/bundles/spray-json_2.12-1.3.4.jar, file:/Users/dave/.ivy2/cache/com.typesafe.akka/akka-parsing_2.12/jars/akka-parsing_2.12-10.1.0-RC2.jar, file:/Users/dave/.ivy2/cache/com.typesafe.akka/akka-http_2.12/jars/akka-http_2.12-10.1.0-RC2.jar, file:/Users/dave/.ivy2/cache/com.typesafe.akka/akka-http-spray-json_2.12/jars/akka-http-spray-json_2.12-10.1.0-RC2.jar, file:/Users/dave/.ivy2/cache/com.typesafe.akka/akka-http-core_2.12/jars/akka-http-core_2.12-10.1.0-RC2.jar, file:/Users/dave/.ivy2/cache/com.typesafe.akka/akka-stream-testkit_2.12/jars/akka-stream-testkit_2.12-2.4.20.jar, file:/Users/dave/.ivy2/cache/com.typesafe.akka/akka-http-testkit_2.12/jars/akka-http-testkit_2.12-10.0.11.jar, file:/Users/dave/.ivy2/cache/com.typesafe.akka/akka-testkit_2.12/jars/akka-testkit_2.12-2.5.3.jar, file:/Users/dave/.ivy2/cache/org.scala-lang/scala-library/jars/scala-library-2.12.2.jar, file:/Users/dave/.ivy2/cache/org.scala-lang/scala-reflect/jars/scala-reflect-2.12.2.jar, file:/Users/dave/.ivy2/cache/org.scala-lang.modules/scala-java8-compat_2.12/bundles/scala-java8-compat_2.12-0.8.0.jar, file:/Users/dave/.ivy2/cache/org.scala-lang.modules/scala-xml_2.12/bundles/scala-xml_2.12-1.0.5.jar, file:/Users/dave/.ivy2/cache/org.scalactic/scalactic_2.12/bundles/scalactic_2.12-3.0.1.jar, file:/Users/dave/.ivy2/cache/org.scalatest/scalatest_2.12/bundles/scalatest_2.12-3.0.1.jar, file:/Users/dave/.ivy2/cache/com.typesafe/config/bundles/config-1.3.2.jar, file:/Users/dave/.ivy2/cache/com.typesafe/ssl-config-core_2.12/bundles/ssl-config-core_2.12-0.2.2.jar, file:/Users/dave/.ivy2/cache/com.typesafe.akka/akka-actor_2.12/jars/akka-actor_2.12-2.5.8.jar, file:/Users/dave/.ivy2/cache/com.typesafe.akka/akka-stream_2.12/jars/akka-stream_2.12-2.5.8.jar, file:/Users/dave/.ivy2/cache/org.reactivestreams/reactive-streams/jars/reactive-streams-1.0.1.jar, file:/Users/dave/.ivy2/cache/aopalliance/aopalliance/jars/aopalliance-1.0.jar, file:/Users/dave/.ivy2/cache/com.google.guava/guava/bundles/guava-19.0.jar, file:/Users/dave/.ivy2/cache/com.google.inject/guice/jars/guice-4.1.0.jar, file:/Users/dave/.ivy2/cache/javax.inject/javax.inject/jars/javax.inject-1.jar, file:/Applications/IntelliJ%20IDEA.app/Contents/lib/idea_rt.jar, file:/Users/dave/Library/Caches/IntelliJIdea2017.3/captureAgent/debugger-agent.jar, file:/Applications/IntelliJ%20IDEA.app/Contents/lib/asm-all.jar]
2018-02-14 21:05:49 [ScalaTest-run-running-BootTest] DEBUG o.s.boot.SpringApplication - Loading source class org.springframework.cloud.consul.binder.config.ConsulBinderConfiguration
2018-02-14 21:05:49 [ScalaTest-run-running-BootTest] DEBUG o.s.b.c.c.ConfigFileApplicationListener - Loaded config file 'file:/Users/dave/workspace/scala/akka-quickstart-scala/target/scala-2.12/test-classes/application.yml' (classpath:/application.yml)
2018-02-14 21:05:49 [ScalaTest-run-running-BootTest] DEBUG o.s.b.c.c.ConfigFileApplicationListener - Skipped (empty) config file 'file:/Users/dave/workspace/scala/akka-quickstart-scala/target/scala-2.12/test-classes/application.yml' (classpath:/application.yml) for profile default
2018-02-14 21:05:49 [ScalaTest-run-running-BootTest] DEBUG o.s.b.a.l.AutoConfigurationReportLoggingInitializer -
=========================
AUTO-CONFIGURATION REPORT
=========================
Positive matches:
-----------------
ConsulBinderConfiguration matched:
- @ConditionalOnProperty (spring.cloud.consul.binder.enabled) matched (OnPropertyCondition)
- @ConditionalOnMissingBean (types: org.springframework.cloud.stream.binder.Binder; SearchStrategy: all) did not find any beans (OnBeanCondition)
- AllNestedConditions 2 matched 0 did not; NestedCondition on ConditionalOnConsulEnabled.OnConsulEnabledCondition.FoundClass @ConditionalOnClass found required class 'com.ecwid.consul.v1.ConsulClient'; @ConditionalOnMissingClass did not find unwanted class; NestedCondition on ConditionalOnConsulEnabled.OnConsulEnabledCondition.FoundProperty @ConditionalOnProperty (spring.cloud.consul.enabled) matched (ConditionalOnConsulEnabled.OnConsulEnabledCondition)
ConsulBinderConfiguration#consulClientBinder matched:
- @ConditionalOnMissingBean (types: org.springframework.cloud.consul.binder.ConsulBinder; SearchStrategy: all) did not find any beans (OnBeanCondition)
ConsulBinderConfiguration#eventService matched:
- @ConditionalOnMissingBean (types: org.springframework.cloud.consul.binder.EventService; SearchStrategy: all) did not find any beans (OnBeanCondition)
PropertyPlaceholderAutoConfiguration#propertySourcesPlaceholderConfigurer matched:
- @ConditionalOnMissingBean (types: org.springframework.context.support.PropertySourcesPlaceholderConfigurer; SearchStrategy: current) did not find any beans (OnBeanCondition)
Negative matches:
-----------------
Exclusions:
-----------
None
Unconditional classes:
----------------------
None
2018-02-14 21:05:49 [ScalaTest-run-running-BootTest] INFO o.s.b.a.e.jmx.EndpointMBeanExporter - Located managed bean 'auditEventsEndpoint': registering with JMX server as MBean [org.springframework.boot:type=Endpoint,name=auditEventsEndpoint]
2018-02-14 21:05:49 [ScalaTest-run-running-BootTest] INFO o.s.b.a.e.jmx.EndpointMBeanExporter - Located managed bean 'archaiusEndpoint': registering with JMX server as MBean [org.springframework.boot:type=Endpoint,name=archaiusEndpoint]
2018-02-14 21:05:49 [ScalaTest-run-running-BootTest] INFO o.s.b.a.e.jmx.EndpointMBeanExporter - Located managed bean 'featuresEndpoint': registering with JMX server as MBean [org.springframework.boot:type=Endpoint,name=featuresEndpoint]
2018-02-14 21:05:49 [ScalaTest-run-running-BootTest] INFO o.s.b.a.e.jmx.EndpointMBeanExporter - Located managed bean 'requestMappingEndpoint': registering with JMX server as MBean [org.springframework.boot:type=Endpoint,name=requestMappingEndpoint]
2018-02-14 21:05:49 [ScalaTest-run-running-BootTest] INFO o.s.b.a.e.jmx.EndpointMBeanExporter - Located managed bean 'environmentEndpoint': registering with JMX server as MBean [org.springframework.boot:type=Endpoint,name=environmentEndpoint]
2018-02-14 21:05:49 [ScalaTest-run-running-BootTest] INFO o.s.b.a.e.jmx.EndpointMBeanExporter - Located managed bean 'healthEndpoint': registering with JMX server as MBean [org.springframework.boot:type=Endpoint,name=healthEndpoint]
2018-02-14 21:05:49 [ScalaTest-run-running-BootTest] INFO o.s.b.a.e.jmx.EndpointMBeanExporter - Located managed bean 'beansEndpoint': registering with JMX server as MBean [org.springframework.boot:type=Endpoint,name=beansEndpoint]
2018-02-14 21:05:49 [ScalaTest-run-running-BootTest] INFO o.s.b.a.e.jmx.EndpointMBeanExporter - Located managed bean 'infoEndpoint': registering with JMX server as MBean [org.springframework.boot:type=Endpoint,name=infoEndpoint]
2018-02-14 21:05:49 [ScalaTest-run-running-BootTest] INFO o.s.b.a.e.jmx.EndpointMBeanExporter - Located managed bean 'metricsEndpoint': registering with JMX server as MBean [org.springframework.boot:type=Endpoint,name=metricsEndpoint]
2018-02-14 21:05:49 [ScalaTest-run-running-BootTest] INFO o.s.b.a.e.jmx.EndpointMBeanExporter - Located managed bean 'traceEndpoint': registering with JMX server as MBean [org.springframework.boot:type=Endpoint,name=traceEndpoint]
2018-02-14 21:05:49 [ScalaTest-run-running-BootTest] INFO o.s.b.a.e.jmx.EndpointMBeanExporter - Located managed bean 'dumpEndpoint': registering with JMX server as MBean [org.springframework.boot:type=Endpoint,name=dumpEndpoint]
2018-02-14 21:05:49 [ScalaTest-run-running-BootTest] INFO o.s.b.a.e.jmx.EndpointMBeanExporter - Located managed bean 'autoConfigurationReportEndpoint': registering with JMX server as MBean [org.springframework.boot:type=Endpoint,name=autoConfigurationReportEndpoint]
2018-02-14 21:05:49 [ScalaTest-run-running-BootTest] INFO o.s.b.a.e.jmx.EndpointMBeanExporter - Located managed bean 'configurationPropertiesReportEndpoint': registering with JMX server as MBean [org.springframework.boot:type=Endpoint,name=configurationPropertiesReportEndpoint]
2018-02-14 21:05:49 [ScalaTest-run-running-BootTest] INFO o.s.b.a.e.jmx.EndpointMBeanExporter - Located managed bean 'busEndpoint': registering with JMX server as MBean [org.springframework.boot:type=Endpoint,name=busEndpoint]
2018-02-14 21:05:49 [ScalaTest-run-running-BootTest] INFO o.s.b.a.e.jmx.EndpointMBeanExporter - Located managed bean 'consulEndpoint': registering with JMX server as MBean [org.springframework.boot:type=Endpoint,name=consulEndpoint]
2018-02-14 21:05:49 [ScalaTest-run-running-BootTest] INFO o.s.b.a.e.jmx.EndpointMBeanExporter - Located managed bean 'channelsEndpoint': registering with JMX server as MBean [org.springframework.boot:type=Endpoint,name=channelsEndpoint]
No instances available for application
java.lang.IllegalStateException: No instances available for application
at org.springframework.cloud.netflix.ribbon.RibbonLoadBalancerClient.execute(RibbonLoadBalancerClient.java:90)
at org.springframework.cloud.client.loadbalancer.RetryLoadBalancerInterceptor$1.doWithRetry(RetryLoadBalancerInterceptor.java:130)
at org.springframework.cloud.client.loadbalancer.RetryLoadBalancerInterceptor$1.doWithRetry(RetryLoadBalancerInterceptor.java:118)
at org.springframework.retry.support.RetryTemplate.doExecute(RetryTemplate.java:287)
at org.springframework.retry.support.RetryTemplate.execute(RetryTemplate.java:180)
at org.springframework.cloud.client.loadbalancer.RetryLoadBalancerInterceptor.intercept(RetryLoadBalancerInterceptor.java:118)
at org.springframework.http.client.InterceptingClientHttpRequest$InterceptingRequestExecution.execute(InterceptingClientHttpRequest.java:86)
at org.springframework.cloud.netflix.metrics.MetricsClientHttpRequestInterceptor.intercept(MetricsClientHttpRequestInterceptor.java:64)
at org.springframework.http.client.InterceptingClientHttpRequest$InterceptingRequestExecution.execute(InterceptingClientHttpRequest.java:86)
at org.springframework.http.client.InterceptingClientHttpRequest.executeInternal(InterceptingClientHttpRequest.java:70)
at org.springframework.http.client.AbstractBufferingClientHttpRequest.executeInternal(AbstractBufferingClientHttpRequest.java:48)
at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:53)
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:660)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:621)
at org.springframework.web.client.RestTemplate.getForObject(RestTemplate.java:295)
at com.lightbend.akka.sample.BootTest.$anonfun$new$3(BootTest.scala:81)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
at org.scalatest.Transformer.apply(Transformer.scala:22)
at org.scalatest.Transformer.apply(Transformer.scala:20)
at org.scalatest.WordSpecLike$$anon$1.apply(WordSpecLike.scala:1078)
at com.lightbend.akka.sample.BootTest.withFixture(BootTest.scala:46)
at org.scalatest.WordSpecLike.invokeWithFixture$1(WordSpecLike.scala:1076)
at org.scalatest.WordSpecLike.$anonfun$runTest$1(WordSpecLike.scala:1088)
at org.scalatest.SuperEngine.runTestImpl(Engine.scala:289)
at org.scalatest.WordSpecLike.runTest(WordSpecLike.scala:1088)
at org.scalatest.WordSpecLike.runTest$(WordSpecLike.scala:1070)
at org.scalatest.WordSpec.runTest(WordSpec.scala:1881)
at org.scalatest.WordSpecLike.$anonfun$runTests$1(WordSpecLike.scala:1147)
at org.scalatest.SuperEngine.$anonfun$runTestsInBranch$1(Engine.scala:396)
at scala.collection.immutable.List.foreach(List.scala:389)
at org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:384)
at org.scalatest.SuperEngine.runTestsInBranch(Engine.scala:373)
at org.scalatest.SuperEngine.$anonfun$runTestsInBranch$1(Engine.scala:410)
at scala.collection.immutable.List.foreach(List.scala:389)
at org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:384)
at org.scalatest.SuperEngine.runTestsInBranch(Engine.scala:373)
at org.scalatest.SuperEngine.$anonfun$runTestsInBranch$1(Engine.scala:410)
at scala.collection.immutable.List.foreach(List.scala:389)
at org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:384)
at org.scalatest.SuperEngine.runTestsInBranch(Engine.scala:379)
at org.scalatest.SuperEngine.runTestsImpl(Engine.scala:461)
at org.scalatest.WordSpecLike.runTests(WordSpecLike.scala:1147)
at org.scalatest.WordSpecLike.runTests$(WordSpecLike.scala:1146)
at org.scalatest.WordSpec.runTests(WordSpec.scala:1881)
at org.scalatest.Suite.run(Suite.scala:1147)
at org.scalatest.Suite.run$(Suite.scala:1129)
at org.scalatest.WordSpec.org$scalatest$WordSpecLike$$super$run(WordSpec.scala:1881)
at org.scalatest.WordSpecLike.$anonfun$run$1(WordSpecLike.scala:1192)
at org.scalatest.SuperEngine.runImpl(Engine.scala:521)
at org.scalatest.WordSpecLike.run(WordSpecLike.scala:1192)
at org.scalatest.WordSpecLike.run$(WordSpecLike.scala:1190)
at com.lightbend.akka.sample.BootTest.org$scalatest$BeforeAndAfterAll$$super$run(BootTest.scala:41)
at org.scalatest.BeforeAndAfterAll.liftedTree1$1(BeforeAndAfterAll.scala:213)
at org.scalatest.BeforeAndAfterAll.run(BeforeAndAfterAll.scala:210)
at org.scalatest.BeforeAndAfterAll.run$(BeforeAndAfterAll.scala:208)
at com.lightbend.akka.sample.BootTest.run(BootTest.scala:41)
at org.scalatest.tools.SuiteRunner.run(SuiteRunner.scala:45)
at org.scalatest.tools.Runner$.$anonfun$doRunRunRunDaDoRunRun$13(Runner.scala:1340)
at org.scalatest.tools.Runner$.$anonfun$doRunRunRunDaDoRunRun$13$adapted(Runner.scala:1334)
at scala.collection.immutable.List.foreach(List.scala:389)
at org.scalatest.tools.Runner$.doRunRunRunDaDoRunRun(Runner.scala:1334)
at org.scalatest.tools.Runner$.$anonfun$runOptionallyWithPassFailReporter$24(Runner.scala:1031)
at org.scalatest.tools.Runner$.$anonfun$runOptionallyWithPassFailReporter$24$adapted(Runner.scala:1010)
at org.scalatest.tools.Runner$.withClassLoaderAndDispatchReporter(Runner.scala:1500)
at org.scalatest.tools.Runner$.runOptionallyWithPassFailReporter(Runner.scala:1010)
at org.scalatest.tools.Runner$.run(Runner.scala:850)
at org.scalatest.tools.Runner.run(Runner.scala)
at org.jetbrains.plugins.scala.testingSupport.scalaTest.ScalaTestRunner.runScalaTest2(ScalaTestRunner.java:131)
at org.jetbrains.plugins.scala.testingSupport.scalaTest.ScalaTestRunner.main(ScalaTestRunner.java:28)
@dwelch2344
Copy link
Author

My issue is that Ribbon + Consul discovery client doesn't seem to get configured. I've traced the issue to RibbonLoadBalancerClient not ever having a ServiceInstance from consul – because it's not actually ever calling Consul. It's like RibbonClientConfiguration is superseding ConsulRibbonClientConfiguration.

Of interest is

at org.springframework.cloud.netflix.ribbon.RibbonLoadBalancerClient.execute(RibbonLoadBalancerClient.java:90)

Debugging there and popping up the stack shows everything is the default / vanilla ribbon. No love for Consul

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment