我正在尝试使用Vertx 3从Scala部署Verticle,但由于Scala不是Vertx的扩展语言,因此无法找到一个好的示例。
有人可以提供一些github示例吗?。
的问候。
答案 0 :(得分:2)
Scala还没有正式的Vert.x支持。 Jochen Mader(@codepitbull)目前正致力于vertx-lang-scala。尽管可以使用Vert.x的Java API。
如果您以某种方式体验过Scala,可以在GitHub上查看我们的项目tableaux。这是一个仍在开发中的项目,但我们已经在生产中使用它。我认为最重要的文件是ScalaVerticle.scala
和VertxExecutionContext.scala
。使用后者,您可以使用Scala的Future
。
编辑: vertx-lang-scala现在正式成为Vert.x 3.4.0的一部分!
答案 1 :(得分:1)
它深埋在文档中,但关键是以“scala:”作为前缀,或使用辅助方法ScalaVerticle.nameForVerticle
。
请参阅:http://vertx.io/docs/vertx-core/scala/#_accessing_the_vertx_instance_from_a_verticle
例如,如果您在http://vertx.io/blog/scala-is-here/上关注示例,则可以在主体中添加主对象:
object VertxMain extends App {
val vertx = Vertx.vertx()
val startFuture = vertx.deployVerticleFuture(ScalaVerticle.nameForVerticle[HttpVerticle])
startFuture.onComplete{
case Success(stat) => println(s"Successfully deployed verticle $stat")
case Failure(ex) => println(s"Failed to deploy verticle $ex")
}
}