Akka Persistence Hazelcast

An extension to Akka Persistence, which stores journals and snapshots in Hazelcast.

License

License

Categories

Categories

Hazelcast Application Layer Libs Distributed Applications Akka Container Microservices Reactive libraries
GroupId

GroupId

com.github.sorokinigor
ArtifactId

ArtifactId

akka-persistence-hazelcast_2.12
Last Version

Last Version

1.1.1
Release Date

Release Date

Type

Type

jar
Description

Description

Akka Persistence Hazelcast
An extension to Akka Persistence, which stores journals and snapshots in Hazelcast.
Project URL

Project URL

https://github.com/sorokinigor/akka-persistence-hazelcast
Source Code Management

Source Code Management

https://github.com/sorokinigor/akka-persistence-hazelcast/tree/master

Download akka-persistence-hazelcast_2.12

How to add to project

<!-- https://jarcasting.com/artifacts/com.github.sorokinigor/akka-persistence-hazelcast_2.12/ -->
<dependency>
    <groupId>com.github.sorokinigor</groupId>
    <artifactId>akka-persistence-hazelcast_2.12</artifactId>
    <version>1.1.1</version>
</dependency>
// https://jarcasting.com/artifacts/com.github.sorokinigor/akka-persistence-hazelcast_2.12/
implementation 'com.github.sorokinigor:akka-persistence-hazelcast_2.12:1.1.1'
// https://jarcasting.com/artifacts/com.github.sorokinigor/akka-persistence-hazelcast_2.12/
implementation ("com.github.sorokinigor:akka-persistence-hazelcast_2.12:1.1.1")
'com.github.sorokinigor:akka-persistence-hazelcast_2.12:jar:1.1.1'
<dependency org="com.github.sorokinigor" name="akka-persistence-hazelcast_2.12" rev="1.1.1">
  <artifact name="akka-persistence-hazelcast_2.12" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.github.sorokinigor', module='akka-persistence-hazelcast_2.12', version='1.1.1')
)
libraryDependencies += "com.github.sorokinigor" % "akka-persistence-hazelcast_2.12" % "1.1.1"
[com.github.sorokinigor/akka-persistence-hazelcast_2.12 "1.1.1"]

Dependencies

test (12)

Group / Artifact Type Version
org.scala-lang : scala-library jar 2.12.1
com.hazelcast : hazelcast jar 3.8.3
com.hazelcast : hazelcast-client jar 3.8.3
com.typesafe.akka : akka-actor_2.12 jar 2.5.3
com.typesafe.akka : akka-persistence_2.12 jar 2.5.3
com.typesafe.akka : akka-slf4j_2.12 jar 2.5.3
com.typesafe.akka : akka-testkit_2.12 jar 2.5.3
com.typesafe.akka : akka-persistence-tck_2.12 jar 2.5.3
org.scalatest : scalatest_2.12 jar 3.0.1
org.slf4j : slf4j-api jar 1.7.22
org.pegdown : pegdown jar 1.6.0
ch.qos.logback : logback-classic jar 1.1.7

Project Modules

There are no modules declared in this project.

Akka Persistence Hazelcast

Build Status Release 2.12 Release 2.12

Introduction

A plugin for Akka Persistence, which provides a journal and a snapshot store backed by Hazelcast. Please, consider to read the documentation for the plugin and the Hazelcast itself.

Prerequisites

The plugin is tested against:

  • Scala 2.11/2.12
  • Java 8
  • Hazelcast 3.6.x-3.8.x
  • Akka 2.4.x-2.5.x

Installation

Dependencies

The plugin works with Scala 2.11/2.12, Hazelcast 3.6.x/3.7.x/3.8.x and Akka 2.4.x/2.5.x, but does not define them as compile time dependencies. Therefore, please, make sure that you have included all the relevant dependencies in your project.

All of the examples below are for Scala 2.12. You can easily change 2.12 to 2.11 in order to get the right artifacts.

Gradle

dependencies {
    compile "com.github.sorokinigor:akka-persistence-hazelcast_2.12:1.1.0"
    compile "org.scala-lang:scala-library:2.12.1"
    compile "com.typesafe.akka:akka-persistence_2.12:2.5.3"
    compile "com.hazelcast:hazelcast:3.8.3"
}

repositories {
    mavenCentral()
}

Sbt

libraryDependencies += "com.github.sorokinigor" % "akka-persistence-hazelcast_2.12" % "1.1.0"
libraryDependencies += "org.scala-lang" % "scala-library" % "2.12.1"
libraryDependencies += "com.typesafe.akka" % "akka-persistence_2.12" % "2.5.3"
libraryDependencies += "com.hazelcast" % "hazelcast" % "3.8.3" 

Maven

<dependency>
  <groupId>com.github.sorokinigor</groupId>
  <artifactId>akka-persistence-hazelcast_2.12</artifactId>
  <version>1.1.0</version>
</dependency>

<dependency>
    <groupId>org.scala-lang</groupId>
    <artifactId>scala-library</artifactId>
    <version>2.12.1</version>
</dependency>

<dependency>
    <groupId>com.typesafe.akka</groupId>
    <artifactId>akka-persistence_2.12</artifactId>
    <version>2.5.3</version>
</dependency>

<dependency>
    <groupId>com.hazelcast</groupId>
    <artifactId>hazelcast</artifactId>
    <version>3.8.3</version>
</dependency>

Activate plugin

Put this in a application.conf:

akka.persistence {
  journal.plugin = "hazelcast.journal"
  snapshot-store.plugin = "hazelcast.snapshot-store"
}

See more about the configuration in the reference.conf, documentation and unit tests.

Versions

Version
1.1.1
1.1.0
1.0.0