3

我正在使用 Hector 与来自 java 应用程序的 cassandra 数据库进行交互。(赫克托 1.0-1)

在此示例中,它显示了如何插入(或更新)字段。

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

MutationResult mr = mutator.execute();

但是,关于手术结果的信息并不多。我们如何验证操作是否成功?返回值是一个 ResultStatus 实现,可以调用的 3 个方法是:

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

我可以假设如果没有异常调用 execute() 方法,那么操作成功了吗?

4

1 回答 1

2

看起来 execute 方法没有声明任何抛出的异常,因为它会抛出 HectorException 的实例,这是一个 RuntimeException。

所以是的,如果没有抛出异常,则插入成功。否则,您将得到一个抛出的 HectorException 实例(对于 Cassandra 端的问题可能是 HTimedOutException/HUnavailableException,而对于 Hector 端的问题则可能是其他的)。

于 2011-12-05T23:56:44.110 回答