akka-persistence-jdbc

A plugin for storing events in an event journal akka-persistence-jdbc

License

License

Categories

Categories

Akka Container Microservices Reactive libraries
GroupId

GroupId

com.github.dnvriend
ArtifactId

ArtifactId

akka-persistence-jdbc_2.12
Last Version

Last Version

3.5.3
Release Date

Release Date

Type

Type

jar
Description

Description

akka-persistence-jdbc
A plugin for storing events in an event journal akka-persistence-jdbc
Project URL

Project URL

https://github.com/dnvriend/demo-akka-persistence-jdbc
Project Organization

Project Organization

Dennis Vriend
Source Code Management

Source Code Management

https://github.com/dnvriend/demo-akka-persistence-jdbc

Download akka-persistence-jdbc_2.12

How to add to project

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

Dependencies

compile (7)

Group / Artifact Type Version
org.scala-lang : scala-library jar 2.12.8
com.typesafe.akka : akka-actor_2.12 jar 2.5.29
com.typesafe.akka : akka-persistence_2.12 jar 2.5.29
com.typesafe.akka : akka-persistence-query_2.12 jar 2.5.29
com.typesafe.akka : akka-stream_2.12 jar 2.5.29
com.typesafe.slick : slick_2.12 jar 3.3.2
com.typesafe.slick : slick-hikaricp_2.12 jar 3.3.2

test (10)

Group / Artifact Type Version
org.postgresql : postgresql jar 42.2.5
com.h2database : h2 jar 1.4.199
mysql : mysql-connector-java jar 8.0.15
com.microsoft.sqlserver : mssql-jdbc jar 7.2.1.jre8
ch.qos.logback : logback-classic jar 1.2.3
com.typesafe.akka : akka-slf4j_2.12 jar 2.5.29
com.typesafe.akka : akka-persistence-tck_2.12 jar 2.5.29
com.typesafe.akka : akka-stream-testkit_2.12 jar 2.5.29
com.typesafe.akka : akka-testkit_2.12 jar 2.5.29
org.scalatest : scalatest_2.12 jar 3.0.8

Project Modules

There are no modules declared in this project.

demo-akka-persistence-jdbc

This is a small demo project on how to configure your application to use akka-persistence-jdbc.

It shows the following:

  • How to configure akka-persistence-jdbc,
  • How to connect to a Postgres database,
  • The postgres database schema to use,
  • How to persist events to the journal,
  • How to create, configure and use Google Protocol Buffers for your data model,
  • How to create, configure and an EventAdapter, to tag events, and convert your domain model to your data model (protobuf),
  • How to create, configure and use Custom Serializers to convert your data model (protobuf) to byte arrays and vice-versa,
  • How to query for events using the akka-persistence-query interface,
  • How to query tagged events using the akka-persistence-query interface,
  • How to create your own custom persistency strategy using a custom journal dao using three tables, one event-log and two event-content tables for storing event data typed (that is query-able, I would not recommend this strategy though, but its possible!),
  • In short, how easy it is to create an event sourced application.

Have fun!

Versions

Version
3.5.3
3.5.2
3.5.1
3.5.0
3.4.0
3.3.0
3.2.0
3.1.0
3.0.1
3.0.0
2.8.0
2.7.0
2.5.2.0
2.5.1.0
2.5.0.0
2.4.18.2
2.4.18.1
2.4.18.0
2.4.17.1