diff --git a/build.sbt b/build.sbt index a807aac8..e253948d 100644 --- a/build.sbt +++ b/build.sbt @@ -74,7 +74,7 @@ lazy val slick = Project(id = "slick", base = file("slick")) .configs(IntegrationTest.extend(Test)) .enablePlugins(ReproducibleBuildsPlugin) - .settings(crossScalaVersions := Dependencies.Scala2Versions) + .settings(crossScalaVersions := Dependencies.Scala2And3Versions) .settings(headerSettings(IntegrationTest)) .settings(Defaults.itSettings) .settings(Dependencies.slick) diff --git a/project/PekkoCoreDependency.scala b/project/PekkoCoreDependency.scala index 5fd56786..155a8b4b 100644 --- a/project/PekkoCoreDependency.scala +++ b/project/PekkoCoreDependency.scala @@ -21,5 +21,5 @@ import com.github.pjfanning.pekkobuild.PekkoDependency object PekkoCoreDependency extends PekkoDependency { override val checkProject: String = "pekko-cluster-sharding-typed" override val module: Option[String] = None - override val currentVersion: String = "1.0.2" + override val currentVersion: String = "1.1.0-M1" } diff --git a/slick/src/main/scala/org/apache/pekko/projection/slick/SlickProjection.scala b/slick/src/main/scala/org/apache/pekko/projection/slick/SlickProjection.scala index 999e9e7c..10e88e16 100644 --- a/slick/src/main/scala/org/apache/pekko/projection/slick/SlickProjection.scala +++ b/slick/src/main/scala/org/apache/pekko/projection/slick/SlickProjection.scala @@ -395,7 +395,7 @@ object SlickProjection { private def createOffsetStore[P <: JdbcProfile: ClassTag](databaseConfig: DatabaseConfig[P])( implicit system: ActorSystem[_]) = - new SlickOffsetStore(system, databaseConfig.db, databaseConfig.profile, SlickSettings(system)) + new SlickOffsetStore(system, databaseConfig, SlickSettings(system)) } @ApiMayChange diff --git a/slick/src/main/scala/org/apache/pekko/projection/slick/internal/SlickOffsetStore.scala b/slick/src/main/scala/org/apache/pekko/projection/slick/internal/SlickOffsetStore.scala index 36a98a71..c5e2c407 100644 --- a/slick/src/main/scala/org/apache/pekko/projection/slick/internal/SlickOffsetStore.scala +++ b/slick/src/main/scala/org/apache/pekko/projection/slick/internal/SlickOffsetStore.scala @@ -35,6 +35,7 @@ import pekko.projection.jdbc.internal.MySQLDialect import pekko.projection.jdbc.internal.OracleDialect import pekko.projection.jdbc.internal.PostgresDialect import pekko.util.Helpers.toRootLowerCase +import slick.basic.DatabaseConfig import slick.jdbc.JdbcProfile /** @@ -42,22 +43,24 @@ import slick.jdbc.JdbcProfile */ @InternalApi private[projection] class SlickOffsetStore[P <: JdbcProfile]( system: ActorSystem[_], - val db: P#Backend#Database, - val profile: P, + val databaseConfig: DatabaseConfig[P], slickSettings: SlickSettings, clock: Clock) { + + def this(system: ActorSystem[_], databaseConfig: DatabaseConfig[P], slickSettings: SlickSettings) = + this(system, databaseConfig, slickSettings, Clock.systemUTC()) + import OffsetSerialization.MultipleOffsets import OffsetSerialization.SingleOffset - import profile.api._ + import databaseConfig.profile.api._ - def this(system: ActorSystem[_], db: P#Backend#Database, profile: P, slickSettings: SlickSettings) = - this(system, db, profile, slickSettings, Clock.systemUTC()) + private val db = databaseConfig.db val (dialect, useLowerCase): (Dialect, Boolean) = { val useLowerCase = slickSettings.useLowerCase - profile match { + databaseConfig.profile match { case _: slick.jdbc.H2Profile => ( H2Dialect(slickSettings.schema, slickSettings.table, slickSettings.managementTable, useLowerCase), diff --git a/slick/src/main/scala/org/apache/pekko/projection/slick/internal/SlickProjectionImpl.scala b/slick/src/main/scala/org/apache/pekko/projection/slick/internal/SlickProjectionImpl.scala index 311add3a..27c46711 100644 --- a/slick/src/main/scala/org/apache/pekko/projection/slick/internal/SlickProjectionImpl.scala +++ b/slick/src/main/scala/org/apache/pekko/projection/slick/internal/SlickProjectionImpl.scala @@ -186,7 +186,7 @@ private[projection] class SlickProjectionImpl[Offset, Envelope, P <: JdbcProfile settings) { implicit val executionContext: ExecutionContext = system.executionContext - override val logger: LoggingAdapter = Logging(system.classicSystem, this.getClass) + override val logger: LoggingAdapter = Logging(system.classicSystem, classOf[SlickInternalProjectionState]) override def readPaused(): Future[Boolean] = offsetStore.readManagementState(projectionId).map(_.exists(_.paused)) diff --git a/slick/src/test/scala/org/apache/pekko/projection/slick/SlickOffsetStoreSpec.scala b/slick/src/test/scala/org/apache/pekko/projection/slick/SlickOffsetStoreSpec.scala index 7ea91fd5..15b5e55d 100644 --- a/slick/src/test/scala/org/apache/pekko/projection/slick/SlickOffsetStoreSpec.scala +++ b/slick/src/test/scala/org/apache/pekko/projection/slick/SlickOffsetStoreSpec.scala @@ -107,7 +107,7 @@ abstract class SlickOffsetStoreSpec(specConfig: SlickSpecConfig) private val clock = new TestClock private val offsetStore = - new SlickOffsetStore(system, dbConfig.db, dbConfig.profile, SlickSettings(slickConfig), clock) + new SlickOffsetStore(system, dbConfig, SlickSettings(slickConfig), clock) override protected def beforeAll(): Unit = { // create offset table diff --git a/slick/src/test/scala/org/apache/pekko/projection/slick/SlickProjectionSpec.scala b/slick/src/test/scala/org/apache/pekko/projection/slick/SlickProjectionSpec.scala index cadde1e4..2c84bf7e 100644 --- a/slick/src/test/scala/org/apache/pekko/projection/slick/SlickProjectionSpec.scala +++ b/slick/src/test/scala/org/apache/pekko/projection/slick/SlickProjectionSpec.scala @@ -172,7 +172,7 @@ class SlickProjectionSpec val dbConfig: DatabaseConfig[H2Profile] = DatabaseConfig.forConfig(SlickSettings.configPath, config) - val offsetStore = new SlickOffsetStore(system, dbConfig.db, dbConfig.profile, SlickSettings(system)) + val offsetStore = new SlickOffsetStore(system, dbConfig, SlickSettings(system)) val projectionTestKit = ProjectionTestKit(system)