当前位置: 首页 > 知识库问答 >
问题:

vertx访问verticle类外的事件总线

蒋向笛
2023-03-14

我在玩Vert.x事件总线,在最简单的示例中一切都很好。

但是,我希望将消息发送到Verticle类之外的Vert.x事件总线。

public class A {

   public void executeAndSendMessage() {

      ... some logic ...
      eventBus.send("address", "finished job");
  }
}
private final EventBus eventBus;

public A(EventBus bus) {
   eventBus = bus;
}

共有1个答案

华峰
2023-03-14

好的,我已经设法使用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";
    }
}
 类似资料:
  • 我对Vertx很陌生,但我对测试它与Spring的集成很感兴趣。我使用Spring Boot来提升项目,并部署了两个顶点。我希望他们使用事件总线相互通信,但失败了。这就是我所做的: > 在主应用程序中: @SpringBootApplication公共类MySpringVertxApplication{@Autowired MyRestAPIServer MyRestAPIServer;@Auto

  • null 你认为我应该知道的其他方法?

  • 是否有一种方法可以在intellij(或任何其他应用程序/工具)中调试javascript verticle,就像在任何浏览器开发工具上调试它一样?我尝试将调试器添加到代码中,但不起作用,而且我在网上也找不到任何关于它的东西。

  • 我有以下vertx代码: 我想知道如何停止或杀死集合实例中的一个实例。 谢了。

  • 我希望Javascript中的console.log语句会出现在我启动verticle服务器的终端控制台中,但是,它似乎崩溃了....(当然,在客户机的浏览器上,它会在浏览器的控制台即Firefox中播放--我会在内置的调试器中看到它--所以类似地说,它应该出现在我的终端输出中,因为它是VertX的服务器端代码执行的polygot呈现的javascript代码) 这是bash终端中运行的verti

  • 我是Vert.x的新手,我想实现一个worker verticles池来使用Bonecp进行数据库查询。然而,我对如何“调用”它们工作以及如何在它们之间共享BoneCP连接池有点困惑。 我在Vertx DeploymentManager源代码中看到,方法被同步调用,然后verticle被保存在内存中,直到未部署为止。在方法完成后,在辅助verticle上调用方法的正确方式是什么?如果我部署了许多v