2011-08-02 13 views
1

私は、他のオブジェクトの複合オブジェクトを持っています。 2人のクライアントが内部のオブジェクトを2つの別々のコピーに変更しました。これらの変更をマージしたいのですが、そのための最良の方法はありますか?そのような操作をサポートするフレームワークはありますか?
ありがとう、Ohad。オブジェクトのマージを実装する方法

+0

2人のクライアントはどういう意味ですか?これは分散アプリケーションですか、これらのオブジェクトは異なるユーザーの異なるマシン上にある可能性がありますか? – Sap

+0

いいえ、それらは結局同じjvmにすべてあります。クライアントはtcpを使用して、変更したいものを「通知」します。 – oshai

+0

常に同じJVMであれば、そのオブジェクトのシングルトンを作成できますか?その方法では、常にそのオブジェクトだけを更新します。また、これらのオブジェクトが実際の世界のエンティティ、たとえばユーザを表す場合、マージ操作を実行するキャッシュされたオブジェクトのハッシュマップを作成できます。 – Sap

答えて

2

オブジェクトがプレーンな古いJava beanの場合、リフレクションを使用して2つのオブジェクト間のすべてのプロパティを比較できます。 Commons BeanUtilsはそれを助けることができます。

しかし、いくつかの競合解決戦略を実装する必要があります。両方のクライアントによって同じプロパティが変更された場合最新の「lastUpdateTime」の変更は、他の変更を上書きします。

関連する問題