我正在使用vert.x事件总线,并且在最简单的示例中一切都正常。
但是,我想将消息发送到Verticle类之外的vert.x事件总线。
如何从Verticle类之外访问事件总线?
可以利用Guice提供事件总线吗?
例如:
public class A {
public void executeAndSendMessage() {
... some logic ...
eventBus.send("address", "finished job");
}
}
现在,我可以在此类的构造函数中提供事件总线本身,并对其进行引用。但这似乎有点麻烦:
private final EventBus eventBus;
public A(EventBus bus) {
eventBus = bus;
}
最佳答案
好的,我设法使用Guice注入,并使用以下命令向提供程序注入事件总线:https://github.com/larrytin/vertx-mod-guice
public class TestModule implements VertxModule {
...
@Provides
public EventBus getEventBus() {
return vertx.eventBus();
}
}
public class A() {
@Inject
Provider<EventBus> eventBus;
@GET
@Path("/foo")
public String foo() {
eventBus.get().send("Test-Address", "HELLO");
return "bar";
}
}
关于java - verticle类外部的vertx访问事件总线,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28322955/