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.13
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.13

How to add to project

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

Dependencies

compile (7)

Group / Artifact Type Version
org.scala-lang : scala-library jar 2.13.0
com.typesafe.akka : akka-actor_2.13 jar 2.5.29
com.typesafe.akka : akka-persistence_2.13 jar 2.5.29
com.typesafe.akka : akka-persistence-query_2.13 jar 2.5.29
com.typesafe.akka : akka-stream_2.13 jar 2.5.29
com.typesafe.slick : slick_2.13 jar 3.3.2
com.typesafe.slick : slick-hikaricp_2.13 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.13 jar 2.5.29
com.typesafe.akka : akka-persistence-tck_2.13 jar 2.5.29
com.typesafe.akka : akka-stream-testkit_2.13 jar 2.5.29
com.typesafe.akka : akka-testkit_2.13 jar 2.5.29
org.scalatest : scalatest_2.13 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