我不是Scala专家。我只想在Vert.x上运行一个简单的Verticle示例。
class ScalaServer extends Verticle {
override def start() {
vertx.setPeriodic(1000, { timerId: Long =>
vertx.eventBus.publish("news-feed", "News from Scala")
})
}
}
但是当我在Vert.x上运行此代码时,编译器会抱怨以下消息:
error: type mismatch;
found : scala.Long => org.vertx.java.core.eventbus.EventBus
required: org.vertx.java.core.Handler[java.lang.Long]
vertx.setPeriodic(1000, { timerId: Long =>
^
也许有人会立即看到错误。
答案 0 :(得分:1)
发现:scala.Long => org.vertx.java.core.eventbus.EventBus 必需:org.vertx.java.core.Handler [java.lang.Long]
尝试按照:
class ScalaServer extends Verticle {
override def start() {
vertx.setPeriodic(1000, new Handler[java.lang.Long]() {
def handle(timerID: java.lang.Long) = {
vertx.eventBus.publish("news-feed", "News from Scala")
}
});
}
}