verticle 外的 vertx 访问事件总线 class
vertx access event bus outside verticle class
我正在研究 vert.x 事件总线,在最简单的示例中一切正常。
但是我想将消息发送到 Verticle class 之外的 vert.x 事件总线。
如何从 Verticle 外部访问事件总线 class?
可以利用 Guice 来提供事件总线吗?
例如:
public class A {
public void executeAndSendMessage() {
... some logic ...
eventBus.send("address", "finished job");
}
}
现在我可以在此 class 的构造函数中提供事件总线本身并保留对它的引用。但这似乎有点麻烦:
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";
}
}
我正在研究 vert.x 事件总线,在最简单的示例中一切正常。
但是我想将消息发送到 Verticle class 之外的 vert.x 事件总线。
如何从 Verticle 外部访问事件总线 class?
可以利用 Guice 来提供事件总线吗?
例如:
public class A {
public void executeAndSendMessage() {
... some logic ...
eventBus.send("address", "finished job");
}
}
现在我可以在此 class 的构造函数中提供事件总线本身并保留对它的引用。但这似乎有点麻烦:
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";
}
}