2013-12-04 2 views
3

Я пытаюсь включить панель типов для моего сервера akka + спрей, но он не работает. Я успешно добавил плагин sbt-atmos в мою сборку sbt (как рекомендуется here), когда я запускаю atmos:run, он запускается без предупреждений, я могу видеть консольный веб-интерфейс на localhost: 9000, но, к сожалению, когда я отправляю некоторые запросы на мой сервер, ничего не меняется. Консоль показывает 0 узлов. Мое приложение - это http-сервер, он использует akka 2.2.3, sbt 0.13.0 и спрей 1.2.0. В моей Build.scala у меня есть:Невозможно настроить консоль типов

lazy val SomeProject = Project(
    id = "SomeProject", 
    base = file("."), 
    fork := true, 
    libraryDependencies ++= Dependencies.someProject, 
    resolvers ++= Dependencies.someProjectResolvers, 
    distJvmOptions in Dist := "-Xms256M -Xmx1024M", 
    outputDirectory in Dist := file("some-proj-dist"), 
    javaOptions := Seq("-XX:+CMSClassUnloadingEnabled", "-XX:+UseConcMarkSweepGC", "-XX:MaxPermSize=512M", 
    "-XX:PermSize=64M", "-Xmx2048M", "-XX:ReservedCodeCacheSize=256M")//, 
) ++ PB.protobufSettings ++ Revolver.settings 
).configs(Atmos).settings(atmosSettings: _*) 

Dependency объекта выглядеть следующим образом:

object Dependency { 
    // Versions 
    object V { 
    val Akka  = "2.2.3" 
    val ScalaTest = "2.0" 
    } 

    val akkaKernel = "com.typesafe.akka" %% "akka-kernel" % V.Akka 
    val akkaSlf4j = "com.typesafe.akka" %% "akka-slf4j" % V.Akka 
    val logback = "ch.qos.logback" % "logback-classic" % "1.0.0" 
    val akkaActor = "com.typesafe.akka" %% "akka-actor" % V.Akka 
    val akkaTest = "com.typesafe.akka" %% "akka-testkit" % V.Akka % "test" 
    val scalaTest = "org.scalatest" %% "scalatest" % V.ScalaTest % "test" 
    val sprayRouting = "io.spray" % "spray-routing" % "1.2.0" 
    val sprayCan = "io.spray" % "spray-can" % "1.2.0" 
    val sprayJson = "io.spray" %% "spray-json" % "1.2.5" 
    val protobuf = "com.google.protobuf" % "protobuf-java" % "2.5.0" 
    val scalaCheck = "org.scalacheck" %% "scalacheck" % "1.11.0" % "test" 
} 

Может угодить кто-нибудь помочь моему, чтобы выяснить, что случилось? Кстати, может ли скриптовая консоль работать с akka 2.2.3? типизированный активатор 2.2.1 насколько я знаю .. Кроме того, я вижу странное предупреждение в атмосферном журнале:

WARN [U] [ActorSystem(atmos)] [pool-1-thread-1] : Couldn't accept new trace receiver connection - already at max connections 

Я попытался Google, но не смог найти ничего об этом. Что это значит?

ответ

3

Я нашел справочную информацию в группе типов google group, но я также опубликую ее здесь, так как люди, которые сталкиваются с подобными проблемами, могут найти ее здесь. Проблема была в плагине google protobuf. Atmos использует версию 2.4.1 внутренне, поэтому добавление новых версий в проект может сломать его. Простой способ заставить его работать - использовать ту же самую версию protobuf, что и atmos. Я изменил это следующим образом:

val protobuf = "com.google.protobuf" % "protobuf-java" % "2.4.1" 

и теперь atmos работает просто отлично.

+0

огромная помощь! Никогда бы не подумал об этом –

+0

Спасибо - у нас были похожие проблемы! –

+0

привет, если мой проект maven и я не использую sbt, значит ли это, что я добавляю зависимость protobuf в моем пом? –