Как пометить запрос как идемпотент в 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), который блокировал использование этого флага