Сбой узла при попытке присоединиться к кластеру

У меня есть внешний и внутренний сервер.

Фронтенд запускает Play! 2.5 и Акка 2.4.11 Бэкэнд работает Акка 2.4.11

Как работает kamon 0.6.3, так и имеет следующие зависимости:

"io.kamon" %% "kamon-akka" % Version.kamon,
"io.kamon" %% "kamon-log-reporter" % Version.kamon,
"io.kamon" %% "kamon-system-metrics" % Version.kamon,
"io.kamon" %% "kamon-core" % Version.kamon,
"io.kamon" %% "kamon-akka-remote" % Version.kamon,
"io.kamon" %% "kamon-statsd" % Version.kamon,
"io.kamon" % "kamon-play-25_2.11" % Version.kamon

В build.sbt у меня есть следующее:

aspectjSettings
javaOptions <++= AspectjKeys.weaverOptions in Aspectj
fork in run := true

Я начинаю бэкэнд с ткацкой стороной

-javaagent:./aspectjweaver/aspectjweaver-1.8.9.jar

В plugins.sbt я добавил следующий плагин:

addSbtPlugin("io.kamon" % "aspectj-play-runner" % "0.1.3")

Однако когда я запускаю backend и frontend, я получаю следующее исключение для backend, сразу же, как мой узел frontend присоединяется к кластеру backend.

java.lang.NoSuchFieldError: PARSER
    at akka.remote.instrumentation.TraceContextAwareWireFormats$TraceContextAwareRemoteEnvelope.<init>(TraceContextAwareWireFormats.java:859)
    at akka.remote.instrumentation.TraceContextAwareWireFormats$TraceContextAwareRemoteEnvelope.<init>(TraceContextAwareWireFormats.java:806)
    at akka.remote.instrumentation.TraceContextAwareWireFormats$TraceContextAwareRemoteEnvelope$1.parsePartialFrom(TraceContextAwareWireFormats.java:941)
    at akka.remote.instrumentation.TraceContextAwareWireFormats$TraceContextAwareRemoteEnvelope$1.parsePartialFrom(TraceContextAwareWireFormats.java:936)
    at com.google.protobuf.CodedInputStream.readMessage(CodedInputStream.java:309)
    at akka.remote.instrumentation.TraceContextAwareWireFormats$AckAndTraceContextAwareEnvelopeContainer.<init>(TraceContextAwareWireFormats.java:111)
    at akka.remote.instrumentation.TraceContextAwareWireFormats$AckAndTraceContextAwareEnvelopeContainer.<init>(TraceContextAwareWireFormats.java:45)
    at akka.remote.instrumentation.TraceContextAwareWireFormats$AckAndTraceContextAwareEnvelopeContainer$1.parsePartialFrom(TraceContextAwareWireFormats.java:149)
    at akka.remote.instrumentation.TraceContextAwareWireFormats$AckAndTraceContextAwareEnvelopeContainer$1.parsePartialFrom(TraceContextAwareWireFormats.java:144)
    at com.google.protobuf.AbstractParser.parsePartialFrom(AbstractParser.java:141)
    at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:176)
    at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:188)
    at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:193)
    at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:49)
    at akka.remote.instrumentation.TraceContextAwareWireFormats$AckAndTraceContextAwareEnvelopeContainer.parseFrom(TraceContextAwareWireFormats.java:279)
    at akka.kamon.instrumentation.RemotingInstrumentation.aroundDecodeRemoteMessage(RemotingInstrumentation.scala:82)
    at akka.remote.transport.AkkaPduProtobufCodec$.decodeMessage(AkkaPduCodec.scala:187)
    at akka.remote.EndpointReader.akka$remote$EndpointReader$$tryDecodeMessageAndAck(Endpoint.scala:1043)
    at akka.remote.EndpointReader$$anonfun$receive$2.applyOrElse(Endpoint.scala:974)
    at akka.actor.Actor$class.aroundReceive(Actor.scala:484)
    at akka.remote.EndpointActor.aroundReceive(Endpoint.scala:449)
    at akka.actor.ActorCell.receiveMessage(ActorCell.scala:526)
    at akka.actor.ActorCell.invoke_aroundBody0(ActorCell.scala:495)
    at akka.actor.ActorCell$AjcClosure1.run(ActorCell.scala:1)
    at org.aspectj.runtime.reflect.JoinPointImpl.proceed(JoinPointImpl.java:149)
    at akka.kamon.instrumentation.ActorMonitors$$anon$1$$anonfun$processMessage$1.apply(ActorMonitor.scala:59)
    at kamon.trace.Tracer$.withContext(TracerModule.scala:58)
    at akka.kamon.instrumentation.ActorMonitors$$anon$1.processMessage(ActorMonitor.scala:58)
    at akka.kamon.instrumentation.ActorCellInstrumentation.aroundBehaviourInvoke(ActorInstrumentation.scala:44)
    at akka.actor.ActorCell.invoke(ActorCell.scala:488)
    at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257)
    at akka.dispatch.Mailbox.run(Mailbox.scala:224)
    at akka.dispatch.Mailbox.exec(Mailbox.scala:234)
    at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
    at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
    at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
    at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)

Можете ли вы помочь?

1 ответ

Решение

Ответ был прост. Следует использовать

"io.kamon" % "kamon-akka-remote_akka-2.4_2.11" % "0.6.3"

вместо.

Другие вопросы по тегам