GWT-RPC 序列化的 ImmutableCollection 声明

Posted

技术标签:

【中文标题】GWT-RPC 序列化的 ImmutableCollection 声明【英文标题】:ImmutableCollection declarations for GWT-RPC serialization 【发布时间】:2011-05-13 05:32:50 【问题描述】:

我的理解是,出于性能原因,要为GWT RPC 序列化的 DTO 应该将其字段声明为可能的最低实现类型。例如,人们应该支持ArrayList 而不是ListCollection,这无视我们通常收到的相反建议(例如,Effective Java,第 52 条)。

对于 JDK 集合,这不是问题 — 大多数时候,MapHashMapSetHashSetListArrayList。但是,我正在使用 Guava 的 Immutable* 集合(例如,ImmutableList),我真的不知道我最终会得到哪个实现。我需要把它吸起来,让 GWT 模拟所有这些,还是有什么方法可以在这里进行损坏控制?

【问题讨论】:

【参考方案1】:

没错。只需使用作为 API 一部分的最具体的类型。

除非另有说明(由另一个 @GwtCompatible(serializable = false)),否则使用 @GwtCompatible(serializable = true) 注释的子类型可通过 GWT RPC 序列化。您可以安全地使用 Immutable* 类型作为 GWT RPC 接口。

【讨论】:

以上是关于GWT-RPC 序列化的 ImmutableCollection 声明的主要内容,如果未能解决你的问题,请参考以下文章

Gwt-rpc 仅使用 DAO。摆脱 DTO

如何使用 GWT-RPC 以外的方式访问 GWT servlet?

gwt-rpc vs rest ......真的是其中之一吗?

GWT-RPC:对请求有效负载的黑客攻击

如何使用 HttpClient 发送 GWT-RPC 请求?

无法编译 GWT-RPC 项目