0

@Repositoryカサンドラのdaoとして使用している注釈付きのクラスがあります。のインスタンスで自動配線されますCassandraOperations

@Autowired
private CassandraOperations cassandraOperations;

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

フィールドを使用してクエリを実行すると、RuntimeException である datastax ReadTimeOutException が発生することがあります。CqlTemplate.java ( のスプリング impl クラスCassandraOperations) が呼び出そうとすると、Springインジェクターによって設定されていないtranslateExceptionIfPossibleというフィールドが使用されます。exceptionTranslatorこれにより、ReadTimeOutException ではなく、null ポインター例外がスローされます。このフィールドが正しく設定されていないのはなぜですか?

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 に答える