2011-12-05 2 views
3

Я использую Hector для взаимодействия с базой данных cassandra из приложения java. (Hector 1.0-1)Cassandra Hector: как проверить успех/сбой обновления строки (обработка ошибок)

В этом примере показано, как вставить (или обновить) поле.

mutator.addInsertion("650222", "Npanxx", HFactory.createStringColumn("state", "CA"));     

MutationResult mr = mutator.execute(); 

Однако информации об итогах операции не достаточно. Как мы можем проверить, была ли операция успешной или нет? Возвращаемое значение является реализацией ResultStatus и 3 методы, которые могут быть названы следующим:

mr.getHostUsed() 
mr.getExecutionTimeNano() 
mr.getExecutionTimeMicro() 

Могу ли я предположить, что если бы не было никаких исключений вызова метода Execute(), что операция прошла успешно?

ответ

2

Похоже, что метод execute не объявляет никаких исключений, поскольку он будет генерировать экземпляры исключений HectorException, которые являются исключением RuntimeException.

Так что да, если никаких исключений не выбрасывается, вставка преуспела. В противном случае вы получите экземпляр HectorException throw (вероятно, HTimedOutException/HUnavailableException для проблем на стороне Cassandra и что-то еще для чего-то на стороне Hector).

Смежные вопросы