gpt4 book ai didi

scala - 无法设置类型安全控制台

转载 作者:行者123 更新时间:2023-12-02 00:02:46 25 4
gpt4 key购买 nike

我正在尝试为基于 akka+spray 的服务器启用类型安全控制台,但它不起作用。我已经成功地将 sbt-atmos 插件添加到我的 sbt 构建中(推荐 here ),当我运行 atmos:run 时它会在没有警告的情况下启动,我可以在 localhost:9000 上看到控制台 Web 界面,但不幸的是,当我向我的服务器发送一些请求时,没有任何变化。控制台显示 0 个节点。我的应用程序是一个 http 服务器,它使用 akka 2.2.3、sbt 0.13.0 和 spray 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: _*)

依赖对象如下所示:

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..另外,我在 atmos 日志中看到一个奇怪的警告:

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

我试图用谷歌搜索它,但找不到任何相关信息。什么意思?

最佳答案

我在 typesafe console google group 中找到了帮助,但我也会在这里发布它,因为遇到类似问题的人也可以在这里找到它。问题出在 google protobuf 插件中。 Atmos 内部使用 2.4.1 版本,因此向项目添加更新版本可能会破坏它。使其工作的一个简单方法是使用与 atmos 相同的 protobuf 版本。我把它改成了这样:

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

现在 atmos 工作正常。

关于scala - 无法设置类型安全控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20381390/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com