Как пометить запрос как идемпотент в Spring-Data-Cassandra?

Я перехожу с кода, который использует Java-драйвер Cassandra прямо на spring-data-cassandra, Старый код используется com.datastax.driver.core.PreparedStatement#setIdempotent отметить некоторые запросы как idempotent (что обеспечивает бонус производительности / задержки в некоторых случаях)

Есть ли способ установить это свойство при работе через spring-data-cassandra или через spring-cql? Я ожидаю, что это будет вариант для @Query аннотация, или отдельная аннотация на метод запроса, или, по крайней мере, часть QueryOptions

Единственное, что я нашел, это https://jira.spring.io/browse/DATACASS-403, похоже org.springframework.cassandra.core.CachedPreparedStatementCreator что используется в CassandraTemplate, не поддерживает идемпотентный флаг (и даже сбрасывает этот флаг для запросов, построенных вручную). Более того, я не нашел никакого упоминания в 2.0 spring-data-cassandra филиал на github

1 ответ

Решение

Нет, пока не планируется 2.0, потому что кеширование нарушено, и весь смысл идемпотентного запроса - сделать его кешируемым.

Не будет встроенной поддержки этого флага, пока не будут устранены проблемы с кэшированием. Когда я посмотрел на эту проблему, https://jira.spring.io/browse/DATACASS-291 был основным виновником (IMHO), который блокировал использование этого флага

Другие вопросы по тегам