为什么CqlTemplate的ExceptionTranslator为null(CqlOperations的impl类)?

时间:2014-08-07 13:42:18

标签: spring-data-cassandra

我有一个用@Repository注释的类,我用它作为cassandra的dao。它使用CassandraOperations

的实例自动装配
@Autowired
private CassandraOperations cassandraOperations;

{ // some method...
    cassandraOperations.query(...);
    ...
}

当我使用该字段进行查询时,偶尔会收到一个数据传输ReadTimeOutException,这是一个RuntimeException。当CqlTemplate.java(CassandraOperations的spring impl类)尝试调用translateExceptionIfPossible时,它使用一个名为exceptionTranslator的字段,该字段不是由弹簧注入器设置的。这会导致抛出空指针异常,而不是ReadTimeOutException。为什么这个字段没有正确设置?

它不能是我需要设置的东西,因为set方法只在impl类上,而不在层次结构中的任何接口上。

1 个答案:

答案 0 :(得分:1)

刚看到这个。一个班轮修理,我们以前没见过它感到惊讶! :)

我创建了https://jira.spring.io/browse/DATACASS-159并在1.0.x(https://github.com/spring-projects/spring-data-cassandra/commit/21c3d06988c80b876ec374c1ebf4b36a525fb4d5)和&主(https://github.com/spring-projects/spring-data-cassandra/commit/f921553fb54598639f7b6e6f10ad0b8919bc0a80)分支。

如果需要,请使用1.0.5.BUILD-SNAPSHOT或1.1.0.BUILD-SNAPSHOT。两者都应该很快就可以使用。

马修