2011-02-09 15 views
0

私はかなり複雑な(しかし、大規模ではない10,00オブジェクトではない)オブジェクトモデルを心臓に持つクライアント/サーバアプリケーションを構築しています。複数のクライアントが(Eclipse RCP GUIを介して)モデルを表示する必要がありますが、サーバーはモデルを直接編集できる唯一のノードになります。私はモデルへの編集をクライアントに公開したい。新しいクライアントはモデルを要求し、更新を登録することができます。分散MVCパターンを実装するための分散キャッシュソリューションを見る

実際にはかなり標準的なModel-View-Controllerパターンです。

私のオブジェクトモデルの配布を処理し、変更をモデルに配布する、優れたオープンソースのレプリケートされたキャッシュソリューションを誰かが提案することができます。 1つのフィールドが変更されるたびに完全なモデルを送信するのではなく、「デルタ」をクライアントに送信します。

public class Person implements Serializable { 
private Person manager; 
private String name; 

    public Person (Person manager, String name) { 

が私のキャッシュに3人を追加します:

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

、私は私の解決策は、互いを参照し、すべてのノード上のものreplationshipsを維持どのオブジェクトを知りたいです。

あなたのご意見をお聞かせください。

ニック

答えて

0

私はSpring Web Flowを推奨します。ここで

 Spring Web Flow compliments the Spring MVC. 

Spring Web Flow Demo

へのリンクです
関連する問題