java - Gwt 2.4 中 EventBus 和 Gin 的问题

标签 java gwt mvp gwt-gin event-bus

我正在尝试在 MVP GWT 2.4 中使用 Gin。在我的模块中,我有:

import com.google.web.bindery.event.shared.EventBus;
import com.google.web.bindery.event.shared.SimpleEventBus;

    @Override
      protected void configure() {
        bind(EventBus.class).to(SimpleEventBus.class).in(Singleton.class);
        ...
      }

以上代码使用了新的 com.google.web.bindery.event.shared.EventBus。当我想在实现 Activity 的 MVP Activity 中注入(inject)事件总线时,问题就来了:

package com.google.gwt.activity.shared;

import com.google.gwt.event.shared.EventBus;
import com.google.gwt.user.client.ui.AcceptsOneWidget;

public interface Activity {

  ...

  void start(AcceptsOneWidget panel, EventBus eventBus);
}

Activity 使用已弃用的 com.google.gwt.event.shared.EventBus。我怎样才能调和这两者?显然,如果我请求已弃用的 EventBus 类型,那么 Gin 会提示,因为我没有为它指定绑定(bind)。

更新:这将允许应用构建,但现在有两个不同的 EventBus,这很糟糕:

 protected void configure() {
    bind(com.google.gwt.event.shared.EventBus.class).to(
        com.google.gwt.event.shared.SimpleEventBus.class).in(Singleton.class);
    bind(EventBus.class).to(SimpleEventBus.class).in(Singleton.class);
    ...

最佳答案

为此记录了一个当前问题:http://code.google.com/p/google-web-toolkit/issues/detail?id=6653

不幸的是,建议的解决方法是暂时在您的代码中坚持使用已弃用的 EventBus

关于java - Gwt 2.4 中 EventBus 和 Gin 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9267403/

相关文章:

java:减少 ​​vs anyMatch vs 包含

java - 在浏览器中的 Applet 中重新加载 DLL

java - 如何使用 gwt bootstrap datetimepicker

android - fragment 可以在 MVP 中有演示者吗?

android - 使用 Dagger 2,将 Activity 注入(inject)其本地组件是否正确?

java - RequestParams params.put 方法未接收整数

java - 在 java 中迭代结果集时,有比 result.getString() 更好的方法吗

java - 很难让 JSNI 与 Errai 一起工作

gwt - 构建库代码的最佳方式

angularjs - 如何为不同的项目版本和管理 angularjs 组件