GWT +对象持久性+维护内存中的数据

时间:2009-11-30 17:08:47

标签: java memory gwt object persistence

我目前正在进行基于网络的RSS聚合系统的设计和实施的研究,目的是使用和评估推荐算法。

这个系统需要一个相对交互式的基于Web的UI(因此我对使用GWT的兴趣)和某种形式的数据持久性来存储RSS提要细节和用于提供建议的复杂用户配置文件(我看过Gilead为此)。

我的问题是更新用户个人资料。用户与网站的交互将更新配置文件,这意味着每秒可能会有大量回调,其中包含将用于更新用户配置文件的数据。用户配置文件必须存储在某种形式的数据库中,但每次进行回调时访问它将是非常低效的。

据我所知,我的GWT应用程序将部署在Web服务器上,并且其中将包含可运行的Java类。但是,这意味着创建的任何对象仅在该类使用的生命周期内存在。

是否有任何方法可以在内存中维护这些数据,这些方法可以在GWT战争中由Java类有效地访问和修改,并通过显式调用定期写入数据库。

1 个答案:

答案 0 :(得分:1)

绝对。 GWT遵循与Java相同的垃圾收集规则(不是技术上的,但足以满足我们的目的)。这意味着您可以创建交互记录对象,并将它们保存在内存中就像将它们添加到所需的列表/任何其他数据结构中一样简单。

您可以像使用桌面应用一样使用GWT。一个简单的例子是将数据保存在单例中并定期将其发送到服务器。单例的生命周期将从代码加载到窗口未加载的时间,就像您在桌面应用程序中所期望的那样。

您还可以挂钩页面的卸载事件,以便在您的应用关闭时将绝对最后一分钟信息发送回服务器。

相关问题