代码如下:
Selector selector = Pelops.createSelector(CASSANDRA_POOL);
Column column = selector.getSubColumnFromRow("Neighbours", user, neighbour, "Link_ID", CL_ONE);
String linkID = new String(column.getValue());
Mutator mutator = Pelops.createMutator(CASSANDRA_POOL);
System.out.println(linkID);
System.out.println(topic);
mutator.deleteSubColumns("Links",linkID,topic);
mutator.execute(CL_ONE);下面是结果:
ERROR - Exception being returned to browser when processing /ajax_request/F314921638127GLWWRG/: Message: java.lang.NullPointerException
org.scale7.cassandra.pelops.Validation.validateColumnNames(Validation.java:60)
org.scale7.cassandra.pelops.Mutator.deleteSubColumns(Mutator.java:724)
org.scale7.cassandra.pelops.Mutator.deleteSubColumns(Mutator.java:698)但是我不明白为什么它会给我一个异常,linkID和topic字符串有正确的值。
PS : cassandra版本为1.0.0,pelops版本为1.3-1.0.x-20111021.060203-2
有人能帮帮我吗?
发布于 2011-11-02 07:10:50
我似乎不能根据提供的信息复制您的问题,但是我可以通过传递null作为列名(在您的示例中是topic)来复制。
我已经向MutatorIntegrationTest添加了一个测试,以验证测试Mutator.deleteSubColumns是否按预期工作,我还对Validator类进行了较小的更改,以避免NullPointerException,而抛出一个org.scale7.cassandra.pelops.exceptions.ModelException.
请参阅MutatorIntegrationtest.testDeleteSubColumns()和MutatorIntegrationtest. testDeleteSubColumnsWithNullColumnNameThrowsCorrectException()
因此,简而言之,确保您的'topic‘变量不为空,并升级到最新的Pelops快照(以获得更好的错误消息)。
https://stackoverflow.com/questions/7952236
复制相似问题