1

我正在尝试第一次尝试 Finagle。我是 Scala 新手,所以这个问题对你们中的许多人来说似乎很容易。

我从 GitHub 中提取了 6.10.1-SNAPSHOT,并尝试实现文档中显示的 Robust Server 示例。进口对我来说并不完全清楚,我让他们都工作,除了一个。请注意,在下面的代码中,有一个导入有错误,还有一个对 Http() 的调用也有错误。

导入 com.twitter.finagle.http.Http

def main(args: Array[String]) {
    val handleExceptions = new HandleExceptions
    val authorize = new Authorize
    val respond = new Respond

    val myService: Service[HttpRequest, HttpResponse]
        = handleExceptions andThen authorize andThen respond

    val server: Server = ServerBuilder()
    .name("myService")
    .codec(Http()) // Error on this call to Http()
    .bindTo(new InetSocketAddress(8080))
    .build(myService)
}
4

2 回答 2

2

您正在遵循的指南(我假设是这个)已经过时了。这里的新文档http://twitter.github.io/scala_school/finagle.html应该更好(尽管示例仍然不是很好)

看起来他们将 HTTP 编解码器移至 com.twitter.finagle.Http

于 2013-12-30T04:17:17.840 回答
0

示例代码不是最新的 6.10.1-SNAPSHOT。导入问题可以通过参考 build.sbt 中的 libraryDependencies 来解决,它对应于用于构建示例的 Finagle 版本:

libraryDependencies ++= Seq(
  "com.twitter" % "finagle-core" % "6.6.2",
  "com.twitter" % "finagle-http" % "6.6.2",
  "com.twitter" % "util-core" % "6.5.0")
于 2013-12-29T19:01:18.243 回答