// Do not edit directly!
// This file was generated by camel-quarkus-maven-plugin:update-extension-doc-page
[id="extensions-cassandraql"]
= Cassandra CQL
:page-aliases: extensions/cassandraql.adoc
:linkattrs:
:cq-artifact-id: camel-quarkus-cassandraql
:cq-native-supported: true
:cq-status: Stable
:cq-status-deprecation: Stable
:cq-description: Integrate with Cassandra 2.0 using the CQL3 API (not the Thrift API). Based on Cassandra Java Driver provided by DataStax.
:cq-deprecated: false
:cq-jvm-since: 1.0.0
:cq-native-since: 1.7.0

ifeval::[{doc-show-badges} == true]
[.badges]
[.badge-key]##JVM since##[.badge-supported]##1.0.0## [.badge-key]##Native since##[.badge-supported]##1.7.0##
endif::[]

Integrate with Cassandra 2.0 using the CQL3 API (not the Thrift API). Based on Cassandra Java Driver provided by DataStax.

[id="extensions-cassandraql-whats-inside"]
== What's inside

* xref:{cq-camel-components}::cql-component.adoc[Cassandra CQL component], URI syntax: `cql:beanRef:hosts:port/keyspace`

Please refer to the above link for usage and configuration details.

[id="extensions-cassandraql-maven-coordinates"]
== Maven coordinates

https://{link-quarkus-code-generator}/?extension-search=camel-quarkus-cassandraql[Create a new project with this extension on {link-quarkus-code-generator}, window="_blank"]

Or add the coordinates to your existing project:

[source,xml]
----
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-cassandraql</artifactId>
</dependency>
----
ifeval::[{doc-show-user-guide-link} == true]
Check the xref:user-guide/index.adoc[User guide] for more information about writing Camel Quarkus applications.
endif::[]

[id="extensions-cassandraql-additional-camel-quarkus-configuration"]
== Additional Camel Quarkus configuration

[id="extensions-cassandraql-configuration-cassandra-health-check"]
=== Cassandra health check

The `cassandra-quarkus-client` dependency, which is used internally by this extension, automatically registers a health check. However, Camel manages its own `CqlSession` independently and does not use the Quarkus-managed Cassandra client, so the health check may fail and cause Kubernetes readiness probes to report the pod as not ready. For this reason, the Cassandra health check is disabled by default (`quarkus.cassandra.health.enabled=false`).

If you use `quarkus.cassandra.*` configuration properties to set up the Cassandra client and leverage that in the Camel CassandraQL component, you should re-enable the health check in your `application.properties`:

[source,properties]
----
quarkus.cassandra.health.enabled=true
----

[id="extensions-cassandraql-configuration-cassandra-aggregation-repository-in-native-mode"]
=== Cassandra aggregation repository in native mode

In order to use Cassandra aggregation repositories like `CassandraAggregationRepository` in native mode, you must xref:extensions/core.adoc#quarkus-camel-native-reflection-serialization-enabled[enable native serialization support].

In addition, if your exchange bodies are custom types, then they must be registered for serialization by annotating their class declaration with `@RegisterForReflection(serialization = true)`.

