gnodet opened a new pull request, #25993: URL: https://github.com/apache/camel/pull/25993
_Claude Code on behalf of gnodet_ ## Summary - Add `JdbcKeyValueRepository` (camel-sql) — uses Spring `JdbcTemplate`/`TransactionTemplate` with auto-creating table and lazy TTL eviction via `EXPIRES_AT` column - Add `JpaKeyValueRepository` (camel-jpa) — uses JPA `EntityManager` with `KeyValueEntry` entity, JPQL queries, and lazy TTL eviction - Add `CassandraKeyValueRepository` (camel-cassandraql) — uses native Cassandra TTL via `USING TTL` clause and lightweight transactions (`IF NOT EXISTS`) for `putIfAbsent` - Add `KafkaKeyValueRepository` (camel-kafka) — uses local LRU cache with Kafka topic as changelog for distributed state synchronization All implementations follow existing component patterns: `@Metadata`/`@Configurer(metadataOnly = true)`/`@ManagedResource` annotations, extend `ServiceSupport`, and use Java `ObjectOutputStream`/`ObjectInputStream` for value serialization. Built on top of the `KeyValueRepository` SPI introduced in #25863. ## Test plan - [x] `JdbcKeyValueRepositoryTest` — 22 tests covering put/get, overwrite, delete, contains, keys, clear, size, putIfAbsent, TTL expiration, different value types, custom table name auto-creation - [ ] JPA, Cassandra, Kafka tests require container infrastructure (testcontainers) — to be added in follow-up 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- 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]
