我有一个用@Repository
注释的类,我用它作为cassandra的dao。它与CassandraOperations
@Autowired
private CassandraOperations cassandraOperations;
{ // some method...
cassandraOperations.query(...);
...
}
偶尔我得到一个datastax ReadTimeOutException,这是一个RuntimeException,当我使用该字段查询。当CqlTemplate.java (CassandraOperations
的spring impl类)试图调用translateExceptionIfPossible
时,它使用一个名为exceptionTranslator
的字段,该字段不是由spring注入器设置的。这将导致抛出空指针异常,而不是ReadTimeOutException。为什么这个字段没有被正确设置?
它不能是我需要设置的东西,因为set方法只在impl类上,而不是在层次结构中的任何接口上。
刚刚看到。一个行修复,惊讶我们以前没有看到它!:)
我创建了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。两者应该很快就可以使用了。
马修