Overview
The Pekko Persistence Cassandra plugin allows for using Apache Cassandra as a backend for Pekko Persistence and Pekko Persistence Query. It uses Pekko Connectors Cassandra for Cassandra access which is based on the Datastax Java Driver.
Project Info
Project Info: Apache Pekko Persistence Cassandra | |
---|---|
Artifact | org.apache.pekko
pekko-persistence-cassandra
1.0.0 |
JDK versions | OpenJDK 8 OpenJDK 11 OpenJDK 17 |
Scala versions | 2.12.19, 2.13.13, 3.3.3 |
JPMS module name | pekko.persistence.cassandra |
License | |
Home page | https://pekko.apache.org/ |
API documentation | |
Forums | |
Release notes | GitHub releases |
Issues | GitHub issues |
Sources | https://github.com/apache/pekko-persistence-cassandra |
Dependencies
This plugin requires Pekko 1.0.2 or later. See Pekko’s Binary Compatibility Rules for details.
- sbt
val PekkoVersion = "1.0.2" libraryDependencies ++= Seq( "org.apache.pekko" %% "pekko-persistence-cassandra" % "1.0.0", "org.apache.pekko" %% "pekko-persistence" % PekkoVersion, "org.apache.pekko" %% "pekko-persistence-query" % PekkoVersion, "org.apache.pekko" %% "pekko-cluster-tools" % PekkoVersion )
- Maven
<properties> <pekko.version>1.0.2</pekko.version> <scala.binary.version>2.13</scala.binary.version> </properties> <dependencies> <dependency> <groupId>org.apache.pekko</groupId> <artifactId>pekko-persistence-cassandra_${scala.binary.version}</artifactId> <version>1.0.0</version> </dependency> <dependency> <groupId>org.apache.pekko</groupId> <artifactId>pekko-persistence_${scala.binary.version}</artifactId> <version>${pekko.version}</version> </dependency> <dependency> <groupId>org.apache.pekko</groupId> <artifactId>pekko-persistence-query_${scala.binary.version}</artifactId> <version>${pekko.version}</version> </dependency> <dependency> <groupId>org.apache.pekko</groupId> <artifactId>pekko-cluster-tools_${scala.binary.version}</artifactId> <version>${pekko.version}</version> </dependency> </dependencies>
- Gradle
def versions = [ PekkoVersion: "1.0.2", ScalaBinary: "2.13" ] dependencies { implementation "org.apache.pekko:pekko-persistence-cassandra_${versions.ScalaBinary}:1.0.0" implementation "org.apache.pekko:pekko-persistence_${versions.ScalaBinary}:${versions.PekkoVersion}" implementation "org.apache.pekko:pekko-persistence-query_${versions.ScalaBinary}:${versions.PekkoVersion}" implementation "org.apache.pekko:pekko-cluster-tools_${versions.ScalaBinary}:${versions.PekkoVersion}" }
Note that it is important that all pekko-*
dependencies are in the same version, so it is recommended to depend on them explicitly to avoid problems with transient dependencies causing an unlucky mix of versions.
The table below shows Pekko Persistence Cassandra’s direct dependencies and the second tab shows all libraries it depends on transitively.
Snapshots
Snapshots are published to a snapshot repository in Sonatype after every successful build on main branch. Add the following to your project build definition to resolve snapshots:
- sbt
-
resolvers += "Apache Snapshots" at "https://repository.apache.org/content/groups/snapshots"
- Maven
-
<project> ... <repositories> <repository> <id>apache-snapshots</id> <name>Apache Snapshots</name> <url>https://repository.apache.org/content/groups/snapshots</url> </repository> </repositories> ... </project>
- Gradle
-
repositories { maven { url "https://repository.apache.org/content/groups/snapshots" } }
Snapshot builds are available at https://repository.apache.org/content/groups/snapshots/org/apache/pekko/. All Pekko modules that belong to the same build have the same version.
The snapshot documentation is updated with every snapshot build.
History
This Apache Cassandra plugin to Pekko Persistence was initiated originally by Martin Krasser, @krasserm in 2014.
It moved to the Akka organisation in 2016 and the first release after that move was 0.7 in January 2016.
Apache Pekko forked the plugin after Akka changed its licensing.
Contributing
Please feel free to contribute to Pekko and Pekko Persistence Cassandra by reporting issues you identify, or by suggesting changes to the code. Please refer to our contributing instructions to learn how it can be done.
We want Pekko to strive in a welcoming and open atmosphere and expect all contributors to respect our code of conduct.