akka-persistence-s3-base


License

License

Categories

Categories

Akka Container Microservices Reactive libraries
GroupId

GroupId

com.github.j5ik2o
ArtifactId

ArtifactId

akka-persistence-s3-base_2.11
Last Version

Last Version

1.0.26
Release Date

Release Date

Type

Type

jar
Description

Description

akka-persistence-s3-base
akka-persistence-s3-base
Project URL

Project URL

https://github.com/j5ik2o/akka-persistence-s3
Project Organization

Project Organization

com.github.j5ik2o
Source Code Management

Source Code Management

https://github.com/j5ik2o/akka-persistence-s3

Download akka-persistence-s3-base_2.11

How to add to project

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

Dependencies

compile (8)

Group / Artifact Type Version
org.scala-lang : scala-library jar 2.11.12
org.scala-lang : scala-reflect jar 2.11.12
com.iheart : ficus_2.11 jar 1.5.0
org.slf4j : slf4j-api jar 1.7.30
software.amazon.awssdk : s3 jar 2.16.48
org.scala-lang.modules : scala-collection-compat_2.11 jar 2.4.3
com.typesafe.akka : akka-slf4j_2.11 jar 2.5.32
com.typesafe.akka : akka-stream_2.11 jar 2.5.32

test (9)

Group / Artifact Type Version
com.github.j5ik2o » akka-persistence-s3-test_2.11 jar 1.0.26
org.scalacheck : scalacheck_2.11 jar 1.15.2
ch.qos.logback : logback-classic jar 1.2.3
org.testcontainers : testcontainers jar 1.15.3
org.testcontainers : localstack jar 1.15.3
com.dimafeng : testcontainers-scala-scalatest_2.11 jar 0.39.3
com.dimafeng : testcontainers-scala-localstack_2.11 jar 0.39.3
com.typesafe.akka : akka-testkit_2.11 jar 2.5.32
org.scalatest : scalatest_2.11 jar 3.0.8

Project Modules

There are no modules declared in this project.

akka-persistence-s3(support aws sdk for java v2)

CI Scala Steward badge Maven Central Scaladoc License FOSSA Status

akka-persistence-s3 writes snapshot entries to AWS S3. It's non-blocking I/ O used by aws-sdk-java-v2.

Supported versions:

  • Java: 1.8+
  • Scala: 2.12.x or 2.13.x or 3.0.0-RC2
  • Akka: 2.6.x
  • AWS-SDK: 2.4.x

Installation

Add the following to your sbt build (2.12.x, 2.13.x, 3.0.0-RC2):

val version = "..."

libraryDependencies += Seq(
  "com.github.j5ik2o" %% "akka-persistence-s3-journal" % version,
  "com.github.j5ik2o" %% "akka-persistence-s3-snapshot" % version
)

Configuration

The minimum necessary settings are as follows.

j5ik2o {
  s3-snapshot-store {
    # if need to resolve a static value
    # bucket-name = "..."
    # if need to resolve a dynamic value
    bucket-name-resolver-class-name = "com.github.j5ik2o.akka.persistence.s3.resolver.BucketNameResolver$PersistenceId"
    key-converter-class-name = "com.github.j5ik2o.akka.persistence.s3.resolver.KeyConverter$PersistenceId"
    # if need to resolve a static value
    # path-prefix = "..."
    # if need to resolve a dynamic value
    path-prefix-resolver-class-name = "com.github.j5ik2o.akka.persistence.s3.resolver.PathPrefixResolver$PersistenceId"
    extension-name = "snapshot"
    max-load-attempts = 3
    s3-client {
      # Set the following as needed
      access-key-id = "..."
      secret-access-key = "..."
      endpoint = "..."
      max-concurrency = 128
      max-pending-connection-acquires = ?
      read-timeout = 3 s
      write-timeout = 3 s
      connection-timeout = 3 s
      connection-acquisition-timeout = 3 s
      connection-time-to-live = 3 s
      max-idle-connection-timeout = 3 s
      use-connection-reaper = true
      threads-of-event-loop-group = 32
      user-http2 = true
      max-http2-streams = 32
      batch-get-item-limit = 100
      batch-write-item-limit = 25
      s3-options {
        dualstack-enabled = false
        accelerate-mode-enabled = false
        path-style-access-enabled = true
        checksum-validation-enabled = false
        chunked-encoding-enabled = false
        use-arn-region-enabled = false
      }
    }
  }
}

License

FOSSA Status

Versions

Version
1.0.26
1.0.25
1.0.24
1.0.23
1.0.22
1.0.21
1.0.20
1.0.19
1.0.17
1.0.16
1.0.15
1.0.14
1.0.13
1.0.12
1.0.11