Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 25 additions & 23 deletions build.sbt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
scalaVersion := "2.13.16"
scalaVersion := "2.13.18"

enablePlugins(JavaServerAppPackaging)
enablePlugins(DockerPlugin)
Expand Down Expand Up @@ -28,12 +28,10 @@ import java.util.Calendar


val specs2V = "4.23.0" // based on spray 1.3.x built in support
val akkaV = "2.7.+"

val sprayV = "1.3.+"
val scalalikeV = "4.3.5"
val akkaHttpVersion = "10.5.3"
val akkaVersion = "2.8.5"
// all pekko components need to stick to the same version, therefore we take the latest common version here
val pekkoVersion = "1.2.0"
val testContainersVersion = "1.21.4"

resolvers += Resolver.typesafeRepo("releases")
Expand All @@ -43,8 +41,8 @@ val buildSettings = Seq(
.setPreference(DanglingCloseParenthesis, Force)
.setPreference(AlignSingleLineCaseStatements, true),
version := "2.6.46",
scalaVersion := "2.13.16",
crossScalaVersions := Seq("2.13.8", "2.13.16"),
scalaVersion := "2.13.18",
crossScalaVersions := Seq("2.13.18", "2.13.16"),
resolvers ++= Resolver.sonatypeOssRepos("snapshots"),
resolvers ++= Resolver.sonatypeOssRepos("releases"),
resolvers += "Sonatype Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots/",
Expand All @@ -56,19 +54,19 @@ val buildSettings = Seq(
Seq(
"org.scala-lang.modules" %% "scala-xml" % "2.4.0",
"javax.xml.bind" % "jaxb-api" % "2.3.1",
"com.typesafe.akka" %% "akka-http" % akkaHttpVersion,
"com.typesafe.akka" %% "akka-http-caching" % akkaHttpVersion,
"com.typesafe.akka" %% "akka-http-spray-json" % akkaHttpVersion, // ### NO Scala 3
"com.typesafe.akka" %% "akka-actor" % akkaVersion,
"com.typesafe.akka" %% "akka-persistence" % akkaVersion,
"com.typesafe.akka" %% "akka-persistence-query" % akkaVersion,
"com.typesafe.akka" %% "akka-slf4j" % akkaVersion,
"com.typesafe.akka" %% "akka-stream" % akkaVersion,
"com.typesafe.akka" %% "akka-testkit" % akkaVersion % "test",
"com.typesafe.akka" %% "akka-http-testkit" % akkaHttpVersion % "test",
"com.typesafe.akka" %% "akka-stream-testkit" % akkaVersion % "test",
"com.lightbend.akka" %% "akka-persistence-jdbc" % "5.0.4",
"com.github.dnvriend" %% "akka-persistence-inmemory" % "2.5.15.2" % "test", // ### NO Scala 3
"org.apache.pekko" %% "pekko-http" % pekkoVersion,
"org.apache.pekko" %% "pekko-http-caching" % pekkoVersion,
"org.apache.pekko" %% "pekko-http-spray-json" % pekkoVersion, // ### NO Scala 3
"org.apache.pekko" %% "pekko-actor" % pekkoVersion,
"org.apache.pekko" %% "pekko-persistence" % pekkoVersion,
"org.apache.pekko" %% "pekko-persistence-query" % pekkoVersion,
"org.apache.pekko" %% "pekko-slf4j" % pekkoVersion,
"org.apache.pekko" %% "pekko-stream" % pekkoVersion,
"org.apache.pekko" %% "pekko-testkit" % pekkoVersion % "test",
"org.apache.pekko" %% "pekko-http-testkit" % pekkoVersion % "test",
"org.apache.pekko" %% "pekko-stream-testkit" % pekkoVersion % "test",
"org.apache.pekko" %% "pekko-persistence-jdbc" % pekkoVersion,
"io.github.alstanchev" %% "pekko-persistence-inmemory" % "1.3.0" % "test",
"org.specs2" %% "specs2-core" % specs2V % "test", // ### Scala 3
"org.specs2" %% "specs2-mock" % specs2V % "test",
"org.specs2" %% "specs2-junit" % specs2V % "test",
Expand All @@ -85,13 +83,16 @@ val buildSettings = Seq(
"com.github.jasync-sql" % "jasync-mysql" % "2.2.+",
"com.h2database" % "h2" % "2.3.232" % "test",
"org.testcontainers" % "mariadb" % testContainersVersion % "test",
"io.findify" %% "s3mock" % "0.2.6" % "test",
"io.github.marko-asplund" %% "s3mock" % "0.6.0" % "test",
"ch.qos.logback" % "logback-classic" % "1.5.24",
"org.mariadb.jdbc" % "mariadb-java-client" % "3.5.7",
"com.mysql" % "mysql-connector-j" % "9.5.0",
// Libreoffice document API
"org.odftoolkit" % "simple-odf" % "0.9.0" withSources(),
"com.scalapenos" %% "stamina-json" % "0.1.6", // ### NO Scala 3
// stamina-json replaced with stamino (Pekko-compatible fork)
// Note: stamino not yet published to Maven Central, keeping stamina-json for now
// "io.github.tmreau" %% "stamino-json" % "0.1.0", // Pekko-compatible alternative (not published yet)
"com.scalapenos" %% "stamina-json" % "0.1.6", // ### NO Scala 3, kept until stamino is published
"net.virtual-void" %% "json-lenses" % "0.6.2",
// s3
"com.amazonaws" % "aws-java-sdk-s3" % "1.12.795",
Expand Down Expand Up @@ -122,7 +123,8 @@ val buildSettings = Seq(
"org.apache.jena" % "jena-core" % "5.6.0",
"com.google.protobuf" % "protobuf-java" % "4.33.2",
"com.google.guava" % "guava" % "33.5.0-jre",
"commons-beanutils" % "commons-beanutils" % "1.11.0"
"commons-beanutils" % "commons-beanutils" % "1.11.0",
"org.scala-lang.modules" %% "scala-java8-compat" % "1.0.2"
)
)

Expand Down
16 changes: 8 additions & 8 deletions src/main/resources/application.conf
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
akka {
pekko {

loglevel = "DEBUG",
stdout-loglevel = "DEBUG",
loggers = ["akka.event.slf4j.Slf4jLogger"]
logging-filter = "akka.event.slf4j.Slf4jLoggingFilter",
loggers = ["org.apache.pekko.event.slf4j.Slf4jLogger"]
logging-filter = "org.apache.pekko.event.slf4j.Slf4jLoggingFilter",
persistence {
journal.plugin = "jdbc-journal"
snapshot-store.plugin = "jdbc-snapshot-store"
Expand All @@ -23,7 +23,7 @@ akka {
server {
# The value of the `Server` header to produce.
# Set to the empty string to disable rendering of the server header.
server-header = akka-http/${akka.http.version}
server-header = pekko-http/${pekko.http.version}

# The maximum number of requests that are accepted (and dispatched to
# the application) on one single connection before the first request
Expand Down Expand Up @@ -204,7 +204,7 @@ akka {
# explicit `User-Agent`-header was included in a request.
# If this value is the empty string and no header was included in
# the request, no `User-Agent` header will be rendered at all.
user-agent-header = akka-http/${akka.http.version}
user-agent-header = pekko-http/${pekko.http.version}

# The time after which an idle connection will be automatically closed.
# Set to `infinite` to completely disable idle timeouts.
Expand Down Expand Up @@ -293,12 +293,12 @@ openolitor {
slick = ${openolitor.csa1.slick}
}

# the akka-persistence-snapshot-store in use
# the pekko-persistence-snapshot-store in use
jdbc-snapshot-store {
slick = ${openolitor.csa1.slick}
}

# the akka-persistence-query provider in use
# the pekko-persistence-query provider in use
jdbc-read-journal {
slick = ${openolitor.csa1.slick}
}
Expand Down Expand Up @@ -479,7 +479,7 @@ openolitor {
}

# Configure own dispatcher for the reportsystem to control max used ressources
akka.actor.deployment {
pekko.actor.deployment {
/oo-system/report-system {
dispatcher = report-dispatcher
}
Expand Down
10 changes: 5 additions & 5 deletions src/main/resources/logback.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,25 @@
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<target>System.out</target>
<encoder>
<pattern>%X{akkaTimestamp} %-5level %logger{36} %X{sourceThread} - %msg%n</pattern>
<pattern>%X{pekkoTimestamp} %-5level %logger{36} %X{sourceThread} - %msg%n</pattern>
</encoder>
</appender>

<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>./akka.log</file>
<file>./pekko.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>./akka.log.%d{yyyy-MM-dd-HH}</fileNamePattern>
<fileNamePattern>./pekko.log.%d{yyyy-MM-dd-HH}</fileNamePattern>
</rollingPolicy>
<encoder>
<pattern>%X{akkaTimestamp} %-5level %logger{36} %X{sourceThread} - %msg%n</pattern>
<pattern>%X{pekkoTimestamp} %-5level %logger{36} %X{sourceThread} - %msg%n</pattern>
</encoder>
</appender>

<logger name="proc" level="INFO" additivity="false">
<appender-ref ref="STDOUT"/>
</logger>

<logger name="akka.actor" level="INFO" additivity="false">
<logger name="pekko.actor" level="INFO" additivity="false">
<appender-ref ref="STDOUT"/>
</logger>

Expand Down
10 changes: 5 additions & 5 deletions src/main/resources/openolitor-server-int-logback.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,25 @@
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<target>System.out</target>
<encoder>
<pattern>%X{akkaTimestamp} %-5level %logger{36} %X{sourceThread} - %msg%n</pattern>
<pattern>%X{pekkoTimestamp} %-5level %logger{36} %X{sourceThread} - %msg%n</pattern>
</encoder>
</appender>

<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>./akka.log</file>
<file>./pekko.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>./akka.log.%d{yyyy-MM-dd-HH}</fileNamePattern>
<fileNamePattern>./pekko.log.%d{yyyy-MM-dd-HH}</fileNamePattern>
</rollingPolicy>
<encoder>
<pattern>%X{akkaTimestamp} %-5level %logger{36} %X{sourceThread} - %msg%n</pattern>
<pattern>%X{pekkoTimestamp} %-5level %logger{36} %X{sourceThread} - %msg%n</pattern>
</encoder>
</appender>

<logger name="proc" level="ERROR" additivity="false">
<appender-ref ref="STDOUT"/>
</logger>

<logger name="akka.actor" level="ERROR" additivity="false">
<logger name="pekko.actor" level="ERROR" additivity="false">
<appender-ref ref="STDOUT"/>
</logger>

Expand Down
10 changes: 5 additions & 5 deletions src/main/resources/openolitor-server-prod-logback.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,25 @@
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<target>System.out</target>
<encoder>
<pattern>%X{akkaTimestamp} %-5level %logger{36} %X{sourceThread} - %msg%n</pattern>
<pattern>%X{pekkoTimestamp} %-5level %logger{36} %X{sourceThread} - %msg%n</pattern>
</encoder>
</appender>

<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>./akka.log</file>
<file>./pekko.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>./akka.log.%d{yyyy-MM-dd-HH}</fileNamePattern>
<fileNamePattern>./pekko.log.%d{yyyy-MM-dd-HH}</fileNamePattern>
</rollingPolicy>
<encoder>
<pattern>%X{akkaTimestamp} %-5level %logger{36} %X{sourceThread} - %msg%n</pattern>
<pattern>%X{pekkoTimestamp} %-5level %logger{36} %X{sourceThread} - %msg%n</pattern>
</encoder>
</appender>

<logger name="proc" level="ERROR" additivity="false">
<appender-ref ref="STDOUT"/>
</logger>

<logger name="akka.actor" level="ERROR" additivity="false">
<logger name="pekko.actor" level="ERROR" additivity="false">
<appender-ref ref="STDOUT"/>
</logger>

Expand Down
10 changes: 5 additions & 5 deletions src/main/resources/openolitor-server-test-logback-sunu.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,25 @@
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<target>System.out</target>
<encoder>
<pattern>%X{akkaTimestamp} %-5level %logger{36} %X{sourceThread} - %msg%n</pattern>
<pattern>%X{pekkoTimestamp} %-5level %logger{36} %X{sourceThread} - %msg%n</pattern>
</encoder>
</appender>

<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>./akka.log</file>
<file>./pekko.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>./akka.log.%d{yyyy-MM-dd-HH}</fileNamePattern>
<fileNamePattern>./pekko.log.%d{yyyy-MM-dd-HH}</fileNamePattern>
</rollingPolicy>
<encoder>
<pattern>%X{akkaTimestamp} %-5level %logger{36} %X{sourceThread} - %msg%n</pattern>
<pattern>%X{pekkoTimestamp} %-5level %logger{36} %X{sourceThread} - %msg%n</pattern>
</encoder>
</appender>

<logger name="proc" level="INFO">
<appender-ref ref="STDOUT"/>
</logger>

<logger name="akka.actor" level="INFO">
<logger name="pekko.actor" level="INFO">
<appender-ref ref="STDOUT"/>
</logger>

Expand Down
10 changes: 5 additions & 5 deletions src/main/resources/openolitor-server-test-logback.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,25 @@
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<target>System.out</target>
<encoder>
<pattern>%X{akkaTimestamp} %-5level %logger{36} %X{sourceThread} - %msg%n</pattern>
<pattern>%X{pekkoTimestamp} %-5level %logger{36} %X{sourceThread} - %msg%n</pattern>
</encoder>
</appender>

<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>./akka.log</file>
<file>./pekko.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>./akka.log.%d{yyyy-MM-dd-HH}</fileNamePattern>
<fileNamePattern>./pekko.log.%d{yyyy-MM-dd-HH}</fileNamePattern>
</rollingPolicy>
<encoder>
<pattern>%X{akkaTimestamp} %-5level %logger{36} %X{sourceThread} - %msg%n</pattern>
<pattern>%X{pekkoTimestamp} %-5level %logger{36} %X{sourceThread} - %msg%n</pattern>
</encoder>
</appender>

<logger name="proc" level="INFO" additivity="false">
<appender-ref ref="STDOUT"/>
</logger>

<logger name="akka.actor" level="INFO" additivity="false">
<logger name="pekko.actor" level="INFO" additivity="false">
<appender-ref ref="STDOUT"/>
</logger>

Expand Down
31 changes: 18 additions & 13 deletions src/main/resources/openolitor-server-test.conf
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ openolitor {
teilnehmernummer = ${?OO_SERVICES.buchhaltung-object.mandant1.teilnehmernummer}
}

# Project specific akka persistence configuration
akka-persistence-sql-async {
# Project specific pekko persistence configuration
pekko-persistence-sql-async {
url = "jdbc:mysql://"${?VCAP_SERVICES.mariadbent-object.0.credentials.host}":"${?VCAP_SERVICES.mariadbent-object.0.credentials.port}"/"${?VCAP_SERVICES.mariadbent-object.0.credentials.database}
user = ${?VCAP_SERVICES.mariadbent-object.0.credentials.username}
password = ${?VCAP_SERVICES.mariadbent-object.0.credentials.password}
Expand Down Expand Up @@ -134,30 +134,35 @@ openolitor {
startTimeDelationSeconds = 300
}

# Default akka configuration
akka {
# Default pekko configuration
pekko {
loglevel = "DEBUG",
stdout-loglevel = "DEBUG",
loggers = ["akka.event.slf4j.Slf4jLogger"]
logging-filter = "akka.event.slf4j.Slf4jLoggingFilter",
loggers = ["org.apache.pekko.event.slf4j.Slf4jLogger"]
logging-filter = "org.apache.pekko.event.slf4j.Slf4jLoggingFilter",
persistence {
journal.plugin = "akka-persistence-sql-async.journal"
snapshot-store.plugin = "akka-persistence-sql-async.snapshot-store"
journal.plugin = "jdbc-journal"
snapshot-store.plugin = "jdbc-snapshot-store"
},
actor {
serializers {
event-serializer = "ch.openolitor.core.eventsourcing.EventStoreSerializer"
},
serialization-bindings {
"ch.openolitor.core.domain.PersistentEvent" = event-serializer
},
debug {
receive = on
autoreceive = on
lifecycle = on
}
}
}

# Default akka-persistence configuration
akka-persistence-sql-async {
journal.class = "akka.persistence.journal.sqlasync.MySQLAsyncWriteJournal"
snapshot-store.class = "akka.persistence.snapshot.sqlasync.MySQLSnapshotStore"
# Default pekko-persistence configuration
pekko-persistence-sql-async {
journal.class = "org.apache.pekko.persistence.journal.sqlasync.MySQLAsyncWriteJournal"
snapshot-store.class = "org.apache.pekko.persistence.snapshot.sqlasync.MySQLSnapshotStore"

wait-queue-capacity = 10000

Expand All @@ -167,7 +172,7 @@ akka-persistence-sql-async {
}

# Configure own dispatcher for the reportsystem to control max used ressources
akka.actor.deployment {
pekko.actor.deployment {
/oo-system/report-system {
dispatcher = report-dispatcher
}
Expand Down
Loading
Loading