2011-02-09 53 views
0

我正在构建一个客户端/服务器应用程序,它的核心将有一个相当复杂(但不是大型的10,00对象)对象模型。多个客户端需要查看模型(通过Eclipse RCP GUI),但服务器将是唯一可以直接编辑模型的节点。我希望将模型的编辑发布给客户。新客户将能够请求该模型并注册更新。寻找实现分布式MVC模式的分布式缓存解决方案

真的是一个相当标准的模型 - 视图 - 控制器模式。

任何人都可以推荐好的,开源的,复制的缓存解决方案,它将处理我的对象模型的分布,并将更改分发给模型。我希望将'deltas'发送给客户端,而不是每当一个字段发生变化时发送完整模型。

而且,我需要能够复制的对象图,并保持连贯性,例如,如果我有一个“人”的对象:

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()); 

换句话说,我想我的解决方案知道哪些对象互相引用并在所有节点上维护这些替代权。

有兴趣听​​到您的建议。

尼克

回答

0

我建议Spring Web Flow。

 Spring Web Flow compliments the Spring MVC. 

这里是链接Spring Web Flow Demo