我试图第一次尝试Finagle。我是Scala的新手,所以这个问题对你们很多人来说都很容易。
我从GitHub中提取了6.10.1-SNAPSHOT,并试图实现文档中显示的Robust Server示例。进口对我来说并不完全清楚,除了一个以外,我得到了所有的进口。请注意下面的代码中有一个导入错误以及一次调用Http()也有错误。
import 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)
}
答案 0 :(得分:2)
您正在关注的指南(我假设this一个)已经过时了。这里的新文档http://twitter.github.io/scala_school/finagle.html应该更好(尽管示例仍然不是很好)
看起来他们将HTTP编解码器移动到com.twitter.finagle.Http
答案 1 :(得分: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")