监视Bean的更改以构建增量?

时间:2009-10-05 08:34:16

标签: java serialization aop javabeans

我的应用程序中有几个Bean,它们通过常规的setter方法定期更新。我想将这些bean与具有相同bean类的远程应用程序同步。在我的情况下,带宽很重要,所以我必须尽可能地保持传输的字节数。我的想法是创建状态更改的增量并转移它们而不是整个对象。目前,我想编写协议来自行转移这些更改,但我不一定要这样做,并且更喜欢现有的解决方案。

那个问题已经解决了吗?如果没有,我怎么能以一种普遍的方式轻松监控这些状态变化呢? AOP?

编辑:这个问题不是缓存相关的,即使它可能首先看起来如此。必须通过互联网将数据从中央服务器复制到多个客户端(大约4到10个)。客户端是一个独立的桌面应用程序。

2 个答案:

答案 0 :(得分:1)

这听起来与JBossCache中运行的POJO mode非常相似。

这是一个基于delta的分布式缓存,它将java对象分解为树结构,并仅将更改传输到更改的树的位。

应该非常适合你。

答案 1 :(得分:0)

我喜欢你创造增量并发送它们的想法。

简单的地图可以处理一个对象的增量。序列化可以简单地为您提供有效的消息发送。

减少可能会导致性能下降的邮件数,您应该将所有对象的增量分组并作为一个整体发送。所以你可以让其他的集合或地图包含这个。

要监控对多个bean的所有更改, AOP似乎是一个很好的解决方案


编辑:请参阅Skaffmann的回答。

使用现有的缓存技术可能会更好。 许多问题已经可以实施解决方案......