Java 番石榴事件巴士等待结果

Java 番石榴事件巴士等待结果,java,guava,event-bus,Java,Guava,Event Bus,我使用guava EventBus进行事件处理,这很好。现在我需要得到一个订户的结果。我知道guava eventBus的设计,我不应该尝试这样做。但我现在需要这个 我可以这样做吗: 我创建了一个带有倒计时锁的事件 Class SomeEvent { private String someData; private String someDataUsedForResult; private CountDownLatch countDown = new CountDownL

我使用guava EventBus进行事件处理,这很好。现在我需要得到一个订户的结果。我知道guava eventBus的设计,我不应该尝试这样做。但我现在需要这个

我可以这样做吗:
我创建了一个带有倒计时锁的事件

Class SomeEvent {
    private String someData;
    private String someDataUsedForResult;
    private CountDownLatch countDown = new CountDownLatch(2);
    ...
}
然后在我的订阅服务器中,在事件完成后,更新事件中的结果字段,将倒计时锁减少到0。在我发布事件的地方,我等待倒计时锁并得到结果


我可以这样做吗

考虑到你不应该这样做,我会使用
SettableFuture
等待它完成,而不是用这种迂回的方式。谢谢,这样更好,我可以返回结果消息并用一个对象控制返回。考虑到你不应该这样做,我会使用
SettableFuture
并等待它完成,而不是尝试这种迂回的方式。谢谢,这样更好,我可以返回结果消息并用一个obj控制返回。