问题标签 [requestfactory]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1313 浏览

java - 如何使用 gwt RequestFactory 机制持久化 hashmap (map)?

我有一个名为 Person 的域对象。该域对象有一个处理人员关系的映射字段,其中键是目标人员的姓名,值是人员对象。

这是课程:

使用 GWT RequestFactory 机制,如何持久化这个用 hibernate 定义的映射?

0 投票
1 回答
1074 浏览

java - 使用 GWT-RPC 与 RequestFactory 来传递大型数组

我正在构建一个应用程序,它检索数据并将其解析为二维数组对象,然后再将其发送回客户端。然后应用程序使用这些数据在 HTML5 画布上创建图像。该数组包含数千个条目,当我使用 GWT-RPC 构建应用程序时,它可以正常工作,但是将数组传输到客户端花费了太长时间(几分钟)。

我在搜索解决方案时发现了这个问题:http ://code.google.com/p/google-web-toolkit/issues/detail?id=860

最后一个回复是几个月前的,但是对于将大型数组从服务器传递到客户端的最佳方式,似乎还没有一个确凿的答案。由于 deRPC 已被弃用(我还没有实际尝试使用它),使用 requestfactory 是唯一的选择吗?似乎 requestFactory 应该用于访问数据库,而不是用于执行计算和返回大结果,而且我还没有找到请求计算并传回结果的示例。我应该在当前实现中创建一个 JSON 对象而不是一个数组并保留 RPC,还是在 requestFactory 方面遗漏了什么?

0 投票
1 回答
540 浏览

gwt - GWT RequestFactory,如何实现查询结果 DTO

我有一个大型的 GWT-RPC 实现,实际上我正在评估转移到 RequestFactory 的替代方案。我这样做的基本原因是因为我对 GWT-RPC 产生的 TypeSerializers 解决方案以及为序列化/反序列化生成的大量代码在我的情况下实际上占了整体的 60% 以上并不十分满意JS 生成的代码。

因此,一周以来我一直在阅读有关 requestFactory 的所有内容,我的第一印象是 API 仅限于持久实体的管理,但它并没有清楚地显示 API 将如何支持查询结果代理。

我读到它可以通过使用 ValueProxy 来完成,但我找不到任何这样做的好例子。我的意思是假设我需要提供上个月前 10 名客户的销售排名。像这样的信息很容易通过 RPC 提供,但对于 RequestFactory 我不确定。我没有要代理的域对象。

通过 GWT-RPC 我将有一个服务方法,如:

我的 ClientRankingDTO 将如下所示:

因此,在我的 DAO 层,我将在 SalesStatistics 域模型实体上使用一些方法来计算相应的排名,并生成具有相应结果的 ClientRankingDTO 列表。

这可以通过一个简单的查询来完成,例如:

使用您选择的 ORM 实现。

我的问题是如何使用 RequestFactory 实现这种服务?

0 投票
1 回答
387 浏览

java - GWT RequestFactory 是否支持扩展 RequestContext 的接口?

我的许多服务只是暴露的 DAO。所以我为这些服务创建了一个接口:

但是,当扩展此接口时(在我的 RequestFactory 中没有注释):

我得到运行时异常:

是否只允许 RequestContext 的直接后代?有人遇到过这个吗?

0 投票
1 回答
1377 浏览

java - 无法创建 ValueProxy

我正在尝试创建一个ValueProxy包含用户正在执行的搜索的一些基本信息。出于某种原因,GWT 希望它成为一个 EntityProxy,但我不明白为什么(这个类成为一个 EntityProxy 也没有意义)。

在将其发送回服务器的活动中:

这导致:

有任何想法吗?它必须是显而易见的,我只是忽略了,因为我有 ValueProxies 在代码的其他地方工作。

0 投票
1 回答
396 浏览

gwt - 将上游的不可变类的 ValueProxy 发送到服务器

假设我正在尝试使用 GWT 的 RequestFactory 在客户端和服务器之间双向传递不可变类型。假设底层类型是 TimeOfDay,它被设计为不可变的:

我可以用 ValueProxy 代理这个类:

现在,我可以很容易地在服务器端创建 TimeOfDay 实例并将它们返回给客户端,通过服务器端的这个:

...这在客户端:

这很好用。但是,如果我在相反的方向尝试这个,我会遇到障碍。即,在服务器端:

...在客户端:

问题 #1 是我无法设置 tofdProxy 的(不可变的)内容,因为 GWT.create() 只是创建了一个默认构造的代理(即代替“???”?)。Snag #2 是服务器端的“No setter”错误。

有什么魔法可以绕过这些障碍吗?AutoBeanFactory.create() 有一个两个参数的变体,它需要一个对象被一个 autobean 包装——类似的东西会处理 Snag #1(如果 ValueProxys 的 create() 存在这样的事情)。至于 Snag #2,嗯,我敢肯定有很多聪明的方法可以解决这个问题。问题是,有没有在 GWT 中实现过?

0 投票
1 回答
1085 浏览

gwt - 我可以在没有 getId() 和 getVersion() 方法的情况下使用 RequestFactory 吗?

我们正在尝试使用RequestFactory现有的 Java 实体模型。我们的 Java 实体都实现了一个DomainObject接口并公开了一个getObjectId()方法(这个名称被选择为getId()可能是模棱两可的,并且与正在建模的域中的域对象的实际ID 冲突。

ServiceLayerDecorator接口允许自定义 ID 和版本属性查找策略。

到现在为止还挺好。但是,尝试部署此解决方案会产生运行时错误。特别是RequestFactoryInterfaceValidator抱怨:

然后稍后:

我的问题是 - 如果硬编码和的约定,为什么ServiceLayerDecorator允许自定义 ID 和版本查找策略?RequestFactoryInterfaceValidatorgetId()getVersion()

我想我可以重写ServiceLayerDecorator.resolveClass()以忽略“中毒”代理类,但在这一点上,我似乎在与框架作斗争太多......

0 投票
3 回答
993 浏览

gwt - 让 Intellij IDEA 处理 GWT RequestFactory 注解

升级到 GWT 2.4.0 后,我希望(需要)为我的 RequestFactory 接口启用注释处理。在 Eclipse 中执行此操作的说明很清楚,但我找不到 Intellij IDEA 的相应说明。

Intellij中注释处理设置页面的字段似乎需要一个“处理器 FQ 名称”,无论是什么。那可能是什么?

0 投票
1 回答
578 浏览

gwt - GWT RequestFactory 中的客户端参数

我正在使用 GWT RequestFactory 并希望在服务中传输客户端参数。参数应该在客户端创建,因为它们不是域模型的一部分,也不会存储在数据库中。不幸的是,我没有办法做到这一点,因为只有 xxxProxy 对象可以用作参数,并且它们只能在服务器上创建。

我的具体例子:

我想从服务器下载任务,并希望发送一个带有请求作为参数的过滤器对象,它指定要加载的任务对象。

谢谢你的帮助!

0 投票
1 回答
1386 浏览

gwt - GWT 2.4 中客户端上的 RequestFactory 服务继承

GWT 2.4 为客户端带来了服务继承(issue 6234issue 6035)。

我一直在等待这个未来很长时间,因为它在客户端上节省了很多重复的代码。我已经开始实施它,但结果喜忧参半。

这是我的代码:

到目前为止getAllOrderBygetRangeAndFilter工作正常,但put(T entity)没有。

我在控制台中收到以下错误:

这会在接收器 onFailure ServerFailure 消息中返回:

put我可以看到,当其他方法不起作用时,唯一的原因是它使用了泛型参数 T。当我put在接口中移动方法EgdRequest(使用EgdProxy作为参数而不是 T)时,它开始工作,所以我知道我的服务器代码很好。

有人知道如何正确实施吗?

谢谢!