Java-клиент GridDB возвращает значение null при выборке строки по ключу, даже если данные существуют.JAVA

Программисты JAVA общаются здесь
Anonymous
Java-клиент GridDB возвращает значение null при выборке строки по ключу, даже если данные существуют.

Сообщение Anonymous »

Я тестирую GridDB с простой настройкой Java и столкнулся с чем-то непонятным при попытке получить строку по ее ключу.
Я вставляю строку в контейнер коллекции, и вставка, похоже, работает нормально (без ошибок). Но когда я пытаюсь получить ту же строку с помощью ключа, я иногда получаю значение 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));
}
Иногда выводится сообщение «Строка не найдена», хотя я только что вставил ее.
Я не уверен, что упускаю что-то, связанное с:
  • обработкой транзакций
  • поведением автоматической фиксации
  • или конфигурацией контейнера
Любые предложения будут полезны, мне кажется, что мне здесь не хватает чего-то основного.

Вернуться в «JAVA»