我正在构建一个客户端/服务器应用程序,它的核心将具有一个相当复杂(但不是很大 - 比如说 10,00 个对象)的对象模型。多个客户端将需要查看模型(通过 Eclipse RCP GUI),但服务器将是唯一可以直接编辑模型的节点。我希望对模型的编辑发布给客户。新客户将能够请求模型并注册更新。
它确实是一个相当标准的模型-视图-控制器模式。
任何人都可以提出好的、开源的、复制的缓存解决方案来处理我的对象模型的分布,以及分布对模型的更改。我希望将“增量”发送给客户端,而不是每次一个字段更改时都发送完整的模型。
此外,我需要能够复制对象图并保持连贯性,例如,如果我有一个“Person”对象:
public class Person implements Serializable {
private Person manager;
private String name;
public Person (Person manager, String name) {
将三个人添加到我的缓存中:
Person boss = new Person(null,"TheBoss");
Person employee1 = new Person(boss,"employee 1");
Person employee2 = new Person(boss,"employee 2");
cache.put(new Element("boss",boss)
cache.put(new Element("employee1",employee1)
cache.put(new Element("employee2",employee2)
然后更新'老板的名字:
boss.setName("TheBossXX");
cache.put(new Element("boss",boss)
我希望以下代码在所有节点上返回“TheBossXX”:
Person e1 = (Person) cache.get("employee1").getValue()
Person b1 = e1.getManager()
LOG.info(b1.getName());
换句话说,我希望我的解决方案知道哪些对象相互引用并在所有节点上维护这些关系。
有兴趣听听您的建议。
缺口