3

我想产生以下行为:

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

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

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

4

1 回答 1

7

您可以只使用创建 AutoBeans 并在客户端代码中使用它们而不是 POJO。AutoBeans 可以在 GWT 中轻松地与 JSON 进行序列化,并且可以传输 JSON。这就是我在基于 Web 套接字的 GWT 应用程序中所做的。

在服务器上,您可以创建在客户端上使用的相同 AutoBean 工厂。我们使用 AutoBeanFactorySource 代替 GWT.create:

MyDataFactory factory = AutoBeanFactorySource.create(MyDataFactory.class)
AutoBean<MyData> myDataAutoBean = factory.myData();
MyData data = myDataAutoBean.as();
data.setValue(1); // call all kinds of setters

// to converto AutoBean to JSON
String json = AutoBeanCodex.encode(myDataAutoBean).getPayload();

在客户端,我们使用AutoBeanCodex将 json 解码为 AutoBean

于 2012-03-26T16:00:57.880 回答