Я пытаюсь сопоставить поле, которое не является ключом к удаленной кареляции, цель состоит в том, чтобы создать много удаленных экземпляров и использовать его для хранения сериализованных объектов.Проблема с полем индексации из каретки с использованием предиката
, что я заметил, что если я делаю как ставить и 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);
как только я запускаю оба put и получаю в разных прогонах, результат равен 0 - поэтому к одному и тому же коду я не получаю ответа.
Моя единственная мысль состоит в том, что она только локальная выборка и не удаленная. но я надеюсь, что у меня есть ошибка где-то.