GWT-RPC 序列化的 ImmutableCollection 声明
Posted
技术标签:
【中文标题】GWT-RPC 序列化的 ImmutableCollection 声明【英文标题】:ImmutableCollection declarations for GWT-RPC serialization 【发布时间】:2011-05-13 05:32:50 【问题描述】:我的理解是,出于性能原因,要为GWT RPC 序列化的 DTO 应该将其字段声明为可能的最低实现类型。例如,人们应该支持ArrayList
而不是List
或Collection
,这无视我们通常收到的相反建议(例如,Effective Java,第 52 条)。
对于 JDK 集合,这不是问题 — 大多数时候,Map
是 HashMap
,Set
是 HashSet
,List
是 ArrayList
。但是,我正在使用 Guava 的 Immutable* 集合(例如,ImmutableList),我真的不知道我最终会得到哪个实现。我需要把它吸起来,让 GWT 模拟所有这些,还是有什么方法可以在这里进行损坏控制?
【问题讨论】:
【参考方案1】:没错。只需使用作为 API 一部分的最具体的类型。
除非另有说明(由另一个 @GwtCompatible(serializable = false)
),否则使用 @GwtCompatible(serializable = true)
注释的子类型可通过 GWT RPC 序列化。您可以安全地使用 Immutable*
类型作为 GWT RPC 接口。
【讨论】:
以上是关于GWT-RPC 序列化的 ImmutableCollection 声明的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 GWT-RPC 以外的方式访问 GWT servlet?
gwt-rpc vs rest ......真的是其中之一吗?