我想产生以下行为:
浏览器中的用户保存了一些实体。实体保存在服务器端后,它会生成通知,它必须通过 Atmosphere 通知所有其他客户端更新实体实例。
所以问题是我如何通过 Atmosphere 接口推送 POJO 实体?最后一个支持 Serializable 类型通过线路传输,而 RequestFactory 有另一种序列化机制。
所以我需要将 POJO 实体转换为 autobean,因为这是由 RF 完成并发送给客户端的。有人知道怎么做吗?
我想产生以下行为:
浏览器中的用户保存了一些实体。实体保存在服务器端后,它会生成通知,它必须通过 Atmosphere 通知所有其他客户端更新实体实例。
所以问题是我如何通过 Atmosphere 接口推送 POJO 实体?最后一个支持 Serializable 类型通过线路传输,而 RequestFactory 有另一种序列化机制。
所以我需要将 POJO 实体转换为 autobean,因为这是由 RF 完成并发送给客户端的。有人知道怎么做吗?
您可以只使用创建 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