gnodet commented on PR #22158:
URL: https://github.com/apache/camel/pull/22158#issuecomment-4128069457

   ### Design note: `StateStoreBackend` interface location
   
   We considered moving the `StateStoreBackend` interface to `camel-api` so it 
could serve as a shared abstraction alongside the existing SPIs 
(`IdempotentRepository`, `AggregationRepository`, `StateRepository`). After 
analysis, we decided against it:
   
   - The existing `camel-api` SPIs are there because **core EIPs consume them** 
(idempotent consumer, aggregator, etc.). `StateStoreBackend` is only consumed 
by the `camel-state-store` component itself — nothing in core needs it.
   - The existing SPIs have different semantics that don't map cleanly to a 
generic key-value store: `IdempotentRepository` has two-phase confirm/rollback, 
`AggregationRepository` stores `Exchange` objects requiring serialization, and 
technology-specific implementations often leverage native features (JDBC 
transactions, Cassandra TTL, Kafka offsets).
   - Moving it to `camel-api` would add API surface with stricter stability 
guarantees for no practical benefit today.
   
   If a future core EIP needs a generic key-value store abstraction, it can be 
promoted then.
   
   _Claude Code on behalf of Guillaume Nodet_


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to