2016-12-19 4 views
0

키가 아닌 필드를 원격 hazelcast와 일치 시키려고합니다. 많은 원격 인스턴스를 만들고이를 사용하여 직렬화 된 객체를 저장하는 것이 목표입니다.술어를 사용하여 헤이즐 캐스트에서 색인 필드 가져 오는 중 문제

내가 할 경우 모두 다음과 같은 실행, 반환 작업에 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); 쿼리가 잘 작동 & 보인다는 사실, 좋아 보인다.