Камон ошибка с конфигурацией 'require-aspectj'

Я добавляю kamonв мое отдельное приложение akka, и я получаю эту ошибку:

com.typesafe.config.ConfigException$Missing: No configuration setting found for key 'requires-aspectj' ошибка в Kamon.start(),

Это относительный контент application.conf.

{
...
  modules {
    kamon-akka {
      auto-start = no
    }
    kamon-statsd {
      auto-start = no
    }
    kamon-system-metric {
      auto-start = no
      requires-aspectj = no
      extension-id = "kamon.system.SystemMetrics"
    }
  }
}

application.conf: 36: requires-aspectj has type STRING rather than OBJECT

Тем не менее, когда я включаю запрашиваемое свойство

{
  modules {
    requires-aspectj = no
  ...
  }
}

Я получаю эту ошибку: application.conf: 36: requires-aspectj has type STRING rather than OBJECT

Если я удалю Kamon.start() мое приложение запускается как обычно

Это выдержка из моего build.sbt:

lazy val root = (project in file("."))
  .settings(name := "kamon-akka")
  .settings(Seq(scalaVersion := "2.11.8"))
  .settings(libraryDependencies ++= Seq(
    akka.Http,
    akka.slf4jApi,
    akka.akkaSlf4j,
    kamon.Core,
    kamon.Akka,
    kamon.LogReporter,
    kamon.SystemMetrics,
    aspectj.aspectjtools,
    aspectj.aspectjweaver,
    aspectj.aspectjrt
  ))
  .settings(aspectjSettings: _*)

PS:

  • Камон = 0,6,7
  • aspectj = 1.8,9
  • сб 0,13,13
  • Скала 2.12.3
  • Я также использую этот плагин addSbtPlugin("com.typesafe.sbt" % "sbt-aspectj" % "0.9.4")

есть идеи?

1 ответ

Решение

Во-первых, ваш application.conf выглядит странно в том, что он не имеет kamon Пространство имен. Это должно выглядеть следующим образом (обратите внимание на первую строку):

kamon {
  ...
  modules {
    kamon-akka {
      ...
    }
    kamon-statsd {
      ...
    }
    kamon-system-metrics {
      ...
    }
  } 
}

Во-вторых, так как вы используете sbt-aspectj плагин, добавьте следующее к вашему build.sbt (источник: http://kamon.io/documentation/get-started/):

import com.typesafe.sbt.SbtAspectj._

// Bring the sbt-aspectj settings into this build
aspectjSettings

// Here we are effectively adding the `-javaagent` JVM startup
// option with the location of the AspectJ Weaver provided by
// the sbt-aspectj plugin.
javaOptions in run <++= AspectjKeys.weaverOptions in Aspectj

// We need to ensure that the JVM is forked for the
// AspectJ Weaver to kick in properly and do it's magic.
fork in run := true
Другие вопросы по тегам