Spring Source を介して RIAK プロジェクトに取り組み始めました。それらの仕様によれば、オブジェクト間のリンクとその後のリンクウォーキングは非常に簡単です。
2 つのオブジェクトを保存し、それらをリンクしてからデータを取得しようとしています。
MyPojo p1 = new MyPojo("o1", "m1");
MyPojo p2 = new MyPojo("o2", "m2");
riakManager.set(bucketName1, "k1", p1);
riakManager.set(bucketName2, "k2", p2);
riakManager.link(bucketName2, "k2", bucketName1, "k1", tagName);
System.out.println(riakManager.get(bucketName1, "k1"));
System.out.println(riakManager.linkWalk(bucketName1, "k1", "_"));
問題は、リンクの後、ソース (「k1」) のコンテンツが削除され、リンクだけが残ることです。これは印刷物です:
null
[MyPojo [str1=o2, str2=m2, number=200]]
リンク操作がソースから値を削除する理由は何ですか? リンクの後にソース値を (再度) 設定しようとすると、リンクが削除されます...
ありがとう、オベド。