标签: requestfactory

GWT手动序列化服务器上​​的域对象

我的GWT应用程序加载时首先要做的是通过RequestFactory从服务器请求当前登录用户.这会阻止,因为我需要用户的属性才能知道如何继续.这只需要<500毫秒,但在此期间应用程序被阻止真的让我感到很恼火.生成jsp时,我已经在服务器上安装了User,那么为什么不将序列化的User添加到jsp中并完全消除这个请求呢?

我有两个问题阻止我这样做:

  • 我需要将User转换为UserProxy
  • 我需要以一种易于GWT反序列化的方式序列化UserProxy.

我还没有找到一个做好#1的好方法.这个逻辑似乎埋没在ServiceLayerDecorator中,没有一种简单的方法可以隔离?我可能在这里错了.

第二个似乎通过ProxySerializer更容易但是当我在服务器上时如何获得requestfactory?你不能GWT.create在服务器上打电话.

我一直在研究AutoBeans,但这并没有处理上面的#1.我的UserProxy引用了我想要维护的其他EntityProxy的集合.

java gwt gwt2 requestfactory autobean

5
推荐指数
2
解决办法
2203
查看次数

客户端实体代理GWT Requestfactoy中的继承

我用GWT 2.5 RequestFactory,假设在服务器端,我有A,B,C,D4个实体,在客户端侧,我有AProxy,BProxy,CProxy,DProxy对应于服务器端实体. B,C延伸A.在D实体中,我有一个方法:

A getEntity();
Run Code Online (Sandbox Code Playgroud)

这将实际返回BC在客户端,在DProxy,我有:

AProxy getEntity();
Run Code Online (Sandbox Code Playgroud)

我的问题是在客户端,当我得到时,我AProxy可以将它投射到BProxyCProxy,如果没有,有没有办法获得实际的实体代理?

PS在DProxy,我有 @ExtraTypes({BProxy,CProxy})

gwt requestfactory

5
推荐指数
1
解决办法
439
查看次数

GWT RequestFactory:如何处理具有复合主键的实体

RequestFactory可以处理复合主键吗?

文件提到,实体必须实现getId(); 如果实体没有单个"id"字段,而是有多个外键字段一起构成复合主键,那么应该如何实现呢?

gwt requestfactory

4
推荐指数
1
解决办法
1695
查看次数

最佳实践 - 实体本身内部的Hibernate持久性代码?

在Google的RequestFactory教程中,他们建议将我的持久性逻辑(在我的例子中,Hibernate)放在Entity类中.然后他们提出了一个问题:"如果你不想在实体本身实现持久性代码怎么办?" 并继续解释另一种方法.

我的问题:哪个更好,将持久性逻辑放在Entity类中,或者将所有持久性逻辑保存在一个单独的类中?

任何信息表示赞赏,谢谢.

-tjw

gwt hibernate jpa requestfactory

4
推荐指数
1
解决办法
553
查看次数

GWT Maven插件 - gwt:运行但gwt:compile没有.为什么?

我正在使用gwt-maven-plugin来管理GWT项目.我一直使用gwt:run目标在"开发模式"下本地运行以进行测试.我现在想要将我的项目编译成战争以在Tomcat上进行部署.gwt:compile但是,当我运行时,我收到编译错误,指出类路径配置问题.一个例子:

Finding entry point classes
[ERROR] Errors in 'shared.MyClass.java'
[ERROR] Line 4: The import server.model.MyObject cannot be resolved
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?我是否需要手动将server软件包添加到某个配置文件中?在此先感谢您的任何信息.

-tjw

java gwt maven requestfactory gwt-maven-plugin

4
推荐指数
1
解决办法
1331
查看次数

GWT 错误:必须运行 RequestFactory ValidationTool

每次我启动我的应用程序时,即使没有执行 listEmptyBoxes(),我也会收到“RequestFactory Validation Tool must be run...”错误。我已经有了requestfactory-apt-2.5.0-rc1.jar关于注释处理的文件。

有任何想法吗?在我的代码下面。谢谢。

我的项目.java

private void listEmptyBoxes() {
  BoxRequest boxRequest = requestFactory.boxRequest();
  boxRequest.listAllEmpty().fire(new Receiver<List<BoxProxy>>() {
    public void onSuccess(List<BoxProxy> response) { // List all phantom boxes
      Window.alert("Successful");
    }
  });
}
Run Code Online (Sandbox Code Playgroud)

框请求.java

@Service(value=BoxDao.class, locator=DaoServiceLocator.class)
public interface BoxRequest extends RequestContext {
    Request<List<BoxProxy>> listAllEmpty();
}
Run Code Online (Sandbox Code Playgroud)

BoxDao.java

public class BoxDao extends ObjectifyDao<Box>{
    public List<Box> listAllEmpty() {
        Objectify ofy = ObjectifyService.begin();
        Query<Box> q=ofy.query(Box.class).filter("title", null).filter("description", null);
        List<Box> results = q.list();
        return results;
    }
}
Run Code Online (Sandbox Code Playgroud)

错误

04-may-2013 12:29:18 com.google.web.bindery.requestfactory.server.RequestFactoryServlet doPost
GRAVE: …
Run Code Online (Sandbox Code Playgroud)

java gwt dao objectify requestfactory

4
推荐指数
1
解决办法
4138
查看次数

GWT RequestFactory:如何在每个请求中使用单个EntityManager

为了得到RequestFactory持续连接的实体,我需要确保我用同样的EntityManager每个请求.

我根据ThreadLocal实现拼凑了我自己的Factory类,但我不确定如何正确释放资源(例如,如何知道请求已完成并调用close()).

是否有一种简单的方法可以确保在给定的ServletRequest中使用单个EntityManager而无需使用完整的J2EE/CDI?如果必须,我会采取这种方式,但我希望保持简单,特别是因为我想继续使用GWT附带的轻量级开发服务器.

gwt code-injection entitymanager cdi requestfactory

3
推荐指数
1
解决办法
3400
查看次数

GWT Atmosphere + RequestFactory

我想产生以下行为:

浏览器中的用户保存了一些实体.在服务器端保存实体后,它会生成通知,并且必须通过具有更新实体实例的Atmosphere通知所有其他客户端.

那么问题是如何通过Atmosphere接口推送POJO实体?最后一个支持Serializable类型通过线传输,而RequestFactory有另一个序列化机制.

所以我需要将POJO实体转换为autobean,因为这是由RF完成并发送给客户端.谁知道怎么做?

gwt atmosphere requestfactory autobean

3
推荐指数
1
解决办法
776
查看次数

与Android连接的应用程序引擎项目的NoClassDefFoundError requestfactory

04-02 21:45:18.260:E/AndroidRuntime(17850):引起:java.lang.NoClassDefFoundError:com.capstonecontrol.client.ModulesRequestFactory

当我的Android应用程序尝试使用任何请求工厂对象时,我得到的错误.一切都工作,直到我更新了Eclipse的插件,现在我似乎无法得到任何工作.Eclipse给我一个关于我的requestfactory-apt.jar文件的错误,所以我从工厂路径中删除它并再次添加jar并清除了编译错误.但是现在我得到了上面的错误.

我甚至试图创建一个全新的Android链接应用程序引擎项目,只是测试默认的应用程序,我得到相同的错误.任何帮助将不胜感激.谢谢!

eclipse google-app-engine android requestfactory

3
推荐指数
1
解决办法
377
查看次数

GWT编译器无法在IntelliJ IDEA中找到依赖模块的源

我正在使用IDEA 117.216

如果CrazyCoder看到这个问题会很棒:)

你们如何引用另一个模块,以便GWT编译器看到它?

当我说模块时,我指的是IntelliJ IDEA术语中的模块.

这是我的情况.我有中间项目(GAE + GWT + RequestFactory).现在我在我的项目中创建了Android模块.这个想法是它将使用C2DM并通过RequestFactory(RF)与服务器通信.

所以我自然而然地在我的项目中创建了第3个模块并移动了所有RF代理和接口,因此我可以从GWT/GAE模块和Android模块中引用它.

Android模块喜欢它,但GWT编译器不喜欢它.它找不到我移动到"共享"模块的类.给我错误,例如:

[ERROR] Errors in 'file:/C:/work/sideprojects/courierapp/src/com/blah/courierApp/client/admin/AdminPage.java'
[ERROR] Line 77: No source code is available for type com.blah.shared.proxies.OrderProxy; did you forget to inherit a required module?
[ERROR] Line 81: No source code is available for type com.blah.shared.factories.AdminRequestFactory; did you forget to inherit a required module?
Run Code Online (Sandbox Code Playgroud)

我需要注意,SharedClasses模块被添加为GWT模块的依赖项.但GWT仍然不知道它的来源在哪里.

在我看来,这是这个错误.

你是如何解决这个问题的?我真的不想有两个编译步骤:首先用源代码构建共享类jar,然后构建引用jar等的GWT项目......

java gwt intellij-idea gwt-compiler requestfactory

3
推荐指数
1
解决办法
2685
查看次数