0

我有一个带有注释的类@Repository,我将其用作 cassandra 的 dao。它是自动装配的CassandraOperations

@Autowired
private CassandraOperations cassandraOperations;

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

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

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

4

1 回答 1

1

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

我创建了https://jira.spring.io/browse/DATACASS-159并在 1.0.x 中推送了一个修复程序(https://github.com/spring-projects/spring-data-cassandra/commit/21c3d06988c80b876ec374c1ebf4b36a525fb4d5) & master ( https://github.com/spring-projects/spring-data-cassandra/commit/f921553fb54598639f7b6e6f10ad0b8919bc0a80 ) 分支。

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

-马修

于 2014-08-27T15:16:42.810 回答