GWTP 处理程序是线程安全的



我正在使用gwt平台进行应用程序开发。

我打开了 2 个

运行相同应用程序的浏览器,我对不同的数据执行了 2 个相同的操作,但现在浏览器在同一视图上访问类似的处理程序操作

现在的问题是 2 个浏览器已更新为从处理程序首次接收的数据。

我不明白为什么无法识别发送请求的浏览器......所以这意味着它不是线程安全的...?

我在 Guice 中看到@RequestedScope注释当我在处理程序的 execute() 上使用时它很有用

有什么建议吗?

提前感谢...

也许...

您必须使操作线程安全。(attrs 有 final,例如,注入构造函数),也许你的逻辑也必须是线程安全的。

顺便说一句,你能发布一个你的行动的例子吗?

使用 2 个

浏览器,您应该运行 2 个不同的应用程序实例。在你的onModuleLoad(),只要放一个System.out.println(this);.您应该看到不同的结果,这意味着您有不同的实例。

如果从浏览器 1 运行操作,则该操作将仅在浏览器 1 中执行。我不知道您的操作在做什么,但如果它更新数据存储(或数据库)中的数据,并且由于两个实例共享持久性层,您也将在浏览器 2 中看到新数据。

在浏览器

1 中触发的操作不太可能在两个浏览器上执行。这意味着它们共享相同的事件总线。

public class InfoAction extends UnsecuredActionImpl<Response<ObjectTO>>
{   
    private List<OpenTO> request;
    private String machineId;
    private int actionType;
    private UserBean userBean;
    /**
     * This is been in the case of double dated flight.
     */
    private String orignalFpesLegId;
    public List<OpenTO> getRequest() {
        return request;
    }
    public void setRequest(List<OpenTO> request) {
        this.request = request;
    }
    public String getMachineId() {
        return machineId;
    }
    public void setMachineId(String machineId) {
        this.machineId = machineId;
    }
    /**
     * @return the actionType
     */
    public int getActionType() {
        return actionType;
    }
    /**
     * @param actionType the actionType to set
     */
    public void setActionType(int actionType) {
        this.actionType = actionType;
    }
    /**
     * @param userBean the userBean to set
     */
    public void setUserBean(UserBean userBean) {
        this.userBean = userBean;
    }
    /**
     * @return the userBean
     */
    public UserBean getUserBean() {
        return userBean;
    }
}

请找到我的操作类代码

相关内容

  • 没有找到相关文章

最新更新