Я вставляю строку в контейнер коллекции, и вставка, похоже, работает нормально (без ошибок). Но когда я пытаюсь получить ту же строку с помощью ключа, я иногда получаю значение null.
Вот упрощенная версия того, что я делаю:
Код: Выделить всё
Properties props = new Properties();
props.setProperty("notificationAddress", "239.0.0.1");
props.setProperty("notificationPort", "31999");
props.setProperty("clusterName", "myCluster");
props.setProperty("user", "admin");
props.setProperty("password", "admin");
GridStore store = GridStoreFactory.getInstance().getGridStore(props);
// Assume container already created
Container container = store.getContainer("Users");
// Insert row
Row row = container.createRow();
row.setInteger(0, 1);
row.setString(1, "John");
container.put(row);
// Try to fetch
Row fetched = container.get(1);
if (fetched == null) {
System.out.println("Row not found");
} else {
System.out.println(fetched.getString(1));
}
Я не уверен, что упускаю что-то, связанное с:
- обработкой транзакций
- поведением автоматической фиксации
- или конфигурацией контейнера