2016-12-19 9 views
0

キーではないフィールドをリモートヘイルキャストに一致させようとしていますが、ここで目標は多くのリモートインスタンスを作成してシリアル化オブジェクトを格納することです。述語を使用してヘイルキャストからインデックスフィールドを取得する問題

私は私がしなければ両方とも次のように、同じ実行、リターン作品にSQLを入れていることである気づいた何か:

私のクラス

public class Provider implements Serializable { 

private String resourceId; 
private String first; 

public String getResourceId() { 
    return resourceId; 
} 

public void setResourceId(String resourceId) { 
    this.resourceId = resourceId; 
} 

public String getFirst() { 
    return first; 
} 

public void setFirst(String first) { 
    this.first = first; 
} 

} 

コード:

/*********** map initlization ************/ 
    Config config = new Config(); 
    config.getNetworkConfig().setPublicAddress(host + ":" + port); 

    instance = Hazelcast.newHazelcastInstance(config); 
    map = instance.getMap("providerWithIndex"); 

    String first = "XXXX" 
    /***** adding item ***************/ 
    Provider provider = new Provider(); 
    provider.setResourceId("11111"); 
    provider.setFirst(first); 
    map.put(provider); 
    /********** getting items ************/ 
    EntryObject e = new PredicateBuilder().getEntryObject(); 
    Predicate predicate = e.get("first").equal(first) ; 
    Collection<Provider> providers = map.values(predicate); 

一度私は両方の実行を実行し、別の実行に取得、結果は0です - 私は同じコードに私は応答を取得します。

私の唯一の考えは、ローカルフェッチとリモートではないことです。しかし、私はどこかにバグがあることを願っています。

答えて

0

あなたのコードは離れて、あなたが鍵を渡す必要があり、map.put(provider)を行うことはできませんので、同様map.put(someKey, provider); クエリが正常に動作します&に見えることから、よさそうです。

関連する問題