import rx.*
class Foo extends Verticle {
def start() {
// This works: prints 1
Observable.create({ s -> s.onNext(1); s.onCompleted()}).subscribe({println it});
container.deployVerticle("groovy:path.to.Bar")
}
}
class Bar extends Verticle {
def start() {
// This fails
Observable.create({ s -> s.onNext(1); s.onCompleted()}).subscribe({println it});
}
}
Groovy Verticle中的异常(Bar.start) groovy.lang.MissingMethodException:没有方法签名:static rx.Observable.create()适用
类加载器问题?不确定。 Vertx documentation suggests container.deployVerticle verticles将使用父类加载器。
的Maven:
<dependency>
<groupId>com.netflix.rxjava</groupId>
<artifactId>rxjava-core</artifactId>
<version>0.17.2</version>
</dependency>
<dependency>
<groupId>com.netflix.rxjava</groupId>
<artifactId>rxjava-groovy</artifactId>
<version>0.17.2</version>
</dependency>
Vert.x版本:2.1M5
由于
答案 0 :(得分:0)
小心使用可用的API。在RxJava wiki中,描述了许多函数,但其中一些函数未在语言适配器中实现。我确信在Scala中就是这种情况,但在Groovy中可能是相同的。有时方法甚至有不同的名称,如&#34; switchOnNext&#34;用Java和&#34;切换&#34;在斯卡拉。