【问题标题】:RequestFactory Diff Calculation and 'static' find methodRequestFactory 差异计算和“静态”查找方法
【发布时间】:2013-04-22 16:24:38
【问题描述】:

我被这三个问题困住了:

1) 我看到 diff 是用AutoBeanUtils's diff 方法计算的。我在实体中看到了一个名为parentObject 的标签,用于比较计算差异。

parent = proxyBean.getTag(Constants.PARENT_OBJECT);AbstractRequestContext 类中。

这是否意味着加载到浏览器的给定实体有两个副本?如果我的实体实际大小是 1kb,实际加载的数据将是 2kb(因为实体的两个副本正在加载到浏览器上)?

2) 在服务器端:

假设我必须从数据库中获取一个实体,static find<EntityName> 应该是我每次都必须进行 db 调用,或者有什么方法可以微调该行为? [对不起,我不太了解locator这个概念。]

3) 当从客户端发送差异时,如果服务器端发生崩溃(出于任何不需要特定于当前请求的原因)会发生什么?

非常感谢。

【问题讨论】:

    标签: gwt requestfactory


    【解决方案1】:
    1. 当您 .edit() 代理时,它会制作一个副本并将您作为参数传递的不可变代理存储为返回的代理的 PARENT_OBJECT

    2. 您通常会在每次调用该方法时进行一次 DB 调用(这与 Locatorfind() 方法相同),每个请求不会超过两次。如果需要,您可以使用某种缓存,但如果您使用 JPA 或 JDO,这会为您处理好(您必须使用每请求会话模式,即 OpenSessionInView)

    3. 如果在解码请求时出现任何错误,将返回一个全局错误,对于失败的RequestContext 请求,该错误将传递给所有Receivers 中的onFailure .

    https://code.google.com/p/google-web-toolkit/wiki/RequestFactoryMovingParts#Flow

    【讨论】:

      猜你喜欢
      • 2017-12-20
      • 2020-07-25
      • 1970-01-01
      • 2015-08-07
      • 2013-11-29
      • 2019-01-27
      • 2017-04-16
      • 1970-01-01
      • 2012-04-19
      相关资源
      最近更新 更多