2009-11-30 44 views
1

我目前正在进行基于Web的RSS聚合系统的设计和实现方面的研究,其目的是推荐算法的使用和评估。GWT +对象持久性+维护数据在内存中

该系统将需要相对交互式的基于Web的UI(因此我有兴趣使用GWT)和某种形式的数据持久性来存储RSS提要详细信息和复杂的用户配置文件,这些将用于提供建议(我已经看过基利德为此)。

我的问题来自更新用户配置文件。用户与网站的交互会更新配置文件,这意味着每秒可能会有多次回调,其中的数据将用于更新用户配置文件。用户配置文件将不得不以某种形式的数据库存储,但每次进行回调时都会访问该配置文件,效率非常低。根据我的理解,我的GWT应用程序将部署在Web服务器上,并且将具有可运行的Java类。但是,这意味着创建的任何对象只会在该类使用的生命周期中存在。

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

回答

1

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

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

您也可以挂钩页面的卸载事件,以便在应用程序关闭时将绝对最新信息发送回服务器。