diff --git a/akka-actor-typed-tests/src/test/scala/akka/actor/typed/internal/ActorRefSerializationSpec.scala b/akka-actor-typed-tests/src/test/scala/akka/actor/typed/internal/ActorRefSerializationSpec.scala index b01dc695af..99a448b530 100644 --- a/akka-actor-typed-tests/src/test/scala/akka/actor/typed/internal/ActorRefSerializationSpec.scala +++ b/akka-actor-typed-tests/src/test/scala/akka/actor/typed/internal/ActorRefSerializationSpec.scala @@ -5,7 +5,6 @@ package akka.actor.typed.internal import akka.actor.typed.scaladsl.Behaviors -import akka.actor.typed.scaladsl.adapter._ import akka.actor.typed.ActorRef import akka.serialization.{ JavaSerializer, SerializationExtension } import akka.actor.testkit.typed.scaladsl.ScalaTestWithActorTestKit @@ -32,7 +31,7 @@ class ActorRefSerializationSpec with WordSpecLike with LogCapturing { - val serialization = SerializationExtension(system.toClassic) + val serialization = SerializationExtension(system) "ActorRef[T]" must { "be serialized and deserialized by MiscMessageSerializer" in { diff --git a/akka-actor-typed-tests/src/test/scala/akka/actor/typed/internal/ActorSystemSpec.scala b/akka-actor-typed-tests/src/test/scala/akka/actor/typed/internal/ActorSystemSpec.scala index 9c42737e54..95e4427af0 100644 --- a/akka-actor-typed-tests/src/test/scala/akka/actor/typed/internal/ActorSystemSpec.scala +++ b/akka-actor-typed-tests/src/test/scala/akka/actor/typed/internal/ActorSystemSpec.scala @@ -14,7 +14,6 @@ import akka.actor.{ Address, CoordinatedShutdown, InvalidMessageException } import akka.actor.testkit.typed.scaladsl.TestInbox import akka.actor.testkit.typed.scaladsl.LogCapturing import akka.actor.typed.scaladsl.Behaviors -import akka.actor.typed.scaladsl.adapter._ import org.scalatest._ import org.scalatest.concurrent.Eventually import org.scalatest.concurrent.ScalaFutures @@ -62,8 +61,7 @@ class ActorSystemSpec } inbox.receiveAll() should ===("hello" :: Nil) sys.whenTerminated.futureValue - CoordinatedShutdown(sys.toClassic).shutdownReason() should ===( - Some(CoordinatedShutdown.ActorSystemTerminateReason)) + CoordinatedShutdown(sys).shutdownReason() should ===(Some(CoordinatedShutdown.ActorSystemTerminateReason)) } } @@ -98,8 +96,7 @@ class ActorSystemSpec // now we know that the guardian has started, and should receive PostStop sys.terminate() sys.whenTerminated.futureValue - CoordinatedShutdown(sys.toClassic).shutdownReason() should ===( - Some(CoordinatedShutdown.ActorSystemTerminateReason)) + CoordinatedShutdown(sys).shutdownReason() should ===(Some(CoordinatedShutdown.ActorSystemTerminateReason)) inbox.receiveAll() should ===("done" :: Nil) } diff --git a/akka-actor-typed-tests/src/test/scala/akka/actor/typed/internal/receptionist/ServiceKeySerializationSpec.scala b/akka-actor-typed-tests/src/test/scala/akka/actor/typed/internal/receptionist/ServiceKeySerializationSpec.scala index 5fd7908902..c78ccdd0ba 100644 --- a/akka-actor-typed-tests/src/test/scala/akka/actor/typed/internal/receptionist/ServiceKeySerializationSpec.scala +++ b/akka-actor-typed-tests/src/test/scala/akka/actor/typed/internal/receptionist/ServiceKeySerializationSpec.scala @@ -6,7 +6,6 @@ package akka.actor.typed.internal.receptionist import akka.actor.typed.internal.ActorRefSerializationSpec import akka.actor.typed.receptionist.ServiceKey -import akka.actor.typed.scaladsl.adapter._ import akka.serialization.SerializationExtension import akka.actor.testkit.typed.scaladsl.ScalaTestWithActorTestKit import akka.actor.testkit.typed.scaladsl.LogCapturing @@ -17,7 +16,7 @@ class ServiceKeySerializationSpec with WordSpecLike with LogCapturing { - val serialization = SerializationExtension(system.toClassic) + val serialization = SerializationExtension(system) "ServiceKey[T]" must { "be serialized and deserialized by ServiceKeySerializer" in { diff --git a/akka-actor-typed-tests/src/test/scala/akka/actor/typed/scaladsl/adapter/AdapterSpec.scala b/akka-actor-typed-tests/src/test/scala/akka/actor/typed/scaladsl/adapter/AdapterSpec.scala index e739a9dc3f..f147b634da 100644 --- a/akka-actor-typed-tests/src/test/scala/akka/actor/typed/scaladsl/adapter/AdapterSpec.scala +++ b/akka-actor-typed-tests/src/test/scala/akka/actor/typed/scaladsl/adapter/AdapterSpec.scala @@ -5,7 +5,6 @@ package akka.actor.typed.scaladsl.adapter import scala.util.control.NoStackTrace - import akka.actor.InvalidMessageException import akka.actor.testkit.typed.TestException import akka.actor.typed.scaladsl.Behaviors @@ -20,6 +19,7 @@ import akka.actor.ActorInitializationException import akka.actor.testkit.typed.scaladsl.LogCapturing import akka.actor.testkit.typed.scaladsl.LoggingTestKit import akka.actor.typed.internal.adapter.SchedulerAdapter +import akka.serialization.SerializationExtension import akka.{ actor => classic } import org.scalatest.{ BeforeAndAfterAll, Matchers, WordSpec } @@ -183,6 +183,7 @@ class AdapterSpec extends WordSpec with Matchers with BeforeAndAfterAll with Log import AdapterSpec._ implicit val system = akka.actor.ActorSystem("AdapterSpec") + def typedSystem: ActorSystem[Nothing] = system.toTyped "ActorSystem adaption" must { "only happen once for a given actor system" in { @@ -224,6 +225,10 @@ class AdapterSpec extends WordSpec with Matchers with BeforeAndAfterAll with Log typedScheduler.getClass should ===(classOf[SchedulerAdapter]) (typedScheduler.toClassic should be).theSameInstanceAs(system.scheduler) } + + "allow seamless access to untyped extensions" in { + SerializationExtension(typedSystem) should not be (null) + } } "Adapted actors" must { diff --git a/akka-actor/src/main/mima-filters/2.6.0.backwards.excludes/28294-add-ExtensionId-apply-get-overloads.excludes b/akka-actor/src/main/mima-filters/2.6.0.backwards.excludes/28294-add-ExtensionId-apply-get-overloads.excludes new file mode 100644 index 0000000000..9ef2560b7d --- /dev/null +++ b/akka-actor/src/main/mima-filters/2.6.0.backwards.excludes/28294-add-ExtensionId-apply-get-overloads.excludes @@ -0,0 +1,12 @@ +# Incompatibilities against Akka < 2.5.17 where extra static bridge methods were generated that +# Mima now wrongly correlates with the new ones added in the PR +ProblemFilters.exclude[IncompatibleResultTypeProblem]("akka.util.ManifestInfo.get") +ProblemFilters.exclude[IncompatibleResultTypeProblem]("akka.actor.CoordinatedShutdown.get") +ProblemFilters.exclude[IncompatibleResultTypeProblem]("akka.actor.TypedActor.get") +ProblemFilters.exclude[IncompatibleResultTypeProblem]("akka.event.AddressTerminatedTopic.get") +ProblemFilters.exclude[IncompatibleResultTypeProblem]("akka.io.Dns.get") +ProblemFilters.exclude[IncompatibleResultTypeProblem]("akka.io.Tcp.get") +ProblemFilters.exclude[IncompatibleResultTypeProblem]("akka.io.Udp.get") +ProblemFilters.exclude[IncompatibleResultTypeProblem]("akka.io.UdpConnected.get") +ProblemFilters.exclude[IncompatibleResultTypeProblem]("akka.serialization.SerializationExtension.get") + diff --git a/akka-actor/src/main/scala/akka/actor/CoordinatedShutdown.scala b/akka-actor/src/main/scala/akka/actor/CoordinatedShutdown.scala index ccf97f1229..0aad2ae89a 100644 --- a/akka-actor/src/main/scala/akka/actor/CoordinatedShutdown.scala +++ b/akka-actor/src/main/scala/akka/actor/CoordinatedShutdown.scala @@ -181,6 +181,8 @@ object CoordinatedShutdown extends ExtensionId[CoordinatedShutdown] with Extensi override def get(system: ActorSystem): CoordinatedShutdown = super.get(system) + override def get(system: ClassicActorSystemProvider): CoordinatedShutdown = super.get(system) + override def lookup = CoordinatedShutdown override def createExtension(system: ExtendedActorSystem): CoordinatedShutdown = { diff --git a/akka-actor/src/main/scala/akka/actor/Extension.scala b/akka-actor/src/main/scala/akka/actor/Extension.scala index 97567e04aa..731766d6fe 100644 --- a/akka-actor/src/main/scala/akka/actor/Extension.scala +++ b/akka-actor/src/main/scala/akka/actor/Extension.scala @@ -31,6 +31,7 @@ package akka.actor * * // Java API: retrieve the extension for the given system. * override def get(system: ActorSystem): UdpExt = super.get(system) + * override def get(system: ClassicActorSystemProvider): UdpExt = super.get(system) * } * * class Ext(system: ExtendedActorSystem) extends Extension { @@ -77,6 +78,11 @@ trait ExtensionId[T <: Extension] { java.util.Objects.requireNonNull(system, "system must not be null!").registerExtension(this) } + /** + * Returns an instance of the extension identified by this ExtensionId instance. + */ + def apply(system: ClassicActorSystemProvider): T = apply(system.classicSystem) + /** * Returns an instance of the extension identified by this ExtensionId instance. * Java API @@ -89,6 +95,18 @@ trait ExtensionId[T <: Extension] { */ def get(system: ActorSystem): T = apply(system) + /** + * Returns an instance of the extension identified by this ExtensionId instance. + * Java API + * For extensions written in Scala that are to be used from Java also, + * this method should be overridden to get correct return type. + * {{{ + * override def get(system: ClassicActorSystemProvider): TheExtension = super.get(system) + * }}} + * + */ + def get(system: ClassicActorSystemProvider): T = apply(system) + /** * Is used by Akka to instantiate the Extension identified by this ExtensionId, * internal use only. diff --git a/akka-actor/src/main/scala/akka/actor/TypedActor.scala b/akka-actor/src/main/scala/akka/actor/TypedActor.scala index b0662da676..18ec5bc3a8 100644 --- a/akka-actor/src/main/scala/akka/actor/TypedActor.scala +++ b/akka-actor/src/main/scala/akka/actor/TypedActor.scala @@ -106,6 +106,7 @@ trait TypedActorFactory { @deprecated("Use 'akka.actor.typed' API.", since = "2.6.0") object TypedActor extends ExtensionId[TypedActorExtension] with ExtensionIdProvider { override def get(system: ActorSystem): TypedActorExtension = super.get(system) + override def get(system: ClassicActorSystemProvider): TypedActorExtension = super.get(system) def lookup() = this def createExtension(system: ExtendedActorSystem): TypedActorExtension = new TypedActorExtension(system) diff --git a/akka-actor/src/main/scala/akka/event/AddressTerminatedTopic.scala b/akka-actor/src/main/scala/akka/event/AddressTerminatedTopic.scala index b83f7ad4fb..ea797a0f31 100644 --- a/akka-actor/src/main/scala/akka/event/AddressTerminatedTopic.scala +++ b/akka-actor/src/main/scala/akka/event/AddressTerminatedTopic.scala @@ -5,10 +5,12 @@ package akka.event import java.util.concurrent.atomic.AtomicReference + import scala.annotation.tailrec import akka.actor.ActorRef import akka.actor.ActorSystem import akka.actor.AddressTerminated +import akka.actor.ClassicActorSystemProvider import akka.actor.ExtendedActorSystem import akka.actor.Extension import akka.actor.ExtensionId @@ -24,6 +26,7 @@ import akka.actor.ExtensionIdProvider */ private[akka] object AddressTerminatedTopic extends ExtensionId[AddressTerminatedTopic] with ExtensionIdProvider { override def get(system: ActorSystem): AddressTerminatedTopic = super.get(system) + override def get(system: ClassicActorSystemProvider): AddressTerminatedTopic = super.get(system) override def lookup = AddressTerminatedTopic diff --git a/akka-actor/src/main/scala/akka/io/Dns.scala b/akka-actor/src/main/scala/akka/io/Dns.scala index 935956a680..009b9f5be4 100644 --- a/akka-actor/src/main/scala/akka/io/Dns.scala +++ b/akka-actor/src/main/scala/akka/io/Dns.scala @@ -145,6 +145,7 @@ object Dns extends ExtensionId[DnsExt] with ExtensionIdProvider { * Java API: retrieve the Udp extension for the given system. */ override def get(system: ActorSystem): DnsExt = super.get(system) + override def get(system: ClassicActorSystemProvider): DnsExt = super.get(system) } class DnsExt private[akka] (val system: ExtendedActorSystem, resolverName: String, managerName: String) diff --git a/akka-actor/src/main/scala/akka/io/Tcp.scala b/akka-actor/src/main/scala/akka/io/Tcp.scala index d508dd7cb5..7ac471015e 100644 --- a/akka-actor/src/main/scala/akka/io/Tcp.scala +++ b/akka-actor/src/main/scala/akka/io/Tcp.scala @@ -48,6 +48,8 @@ object Tcp extends ExtensionId[TcpExt] with ExtensionIdProvider { */ override def get(system: ActorSystem): TcpExt = super.get(system) + override def get(system: ClassicActorSystemProvider): TcpExt = super.get(system) + /** * Scala API: this object contains all applicable socket options for TCP. * diff --git a/akka-actor/src/main/scala/akka/io/Udp.scala b/akka-actor/src/main/scala/akka/io/Udp.scala index 30db041256..d16b294470 100644 --- a/akka-actor/src/main/scala/akka/io/Udp.scala +++ b/akka-actor/src/main/scala/akka/io/Udp.scala @@ -40,6 +40,7 @@ object Udp extends ExtensionId[UdpExt] with ExtensionIdProvider { * Java API: retrieve the Udp extension for the given system. */ override def get(system: ActorSystem): UdpExt = super.get(system) + override def get(system: ClassicActorSystemProvider): UdpExt = super.get(system) /** * The common interface for [[Command]] and [[Event]]. diff --git a/akka-actor/src/main/scala/akka/io/UdpConnected.scala b/akka-actor/src/main/scala/akka/io/UdpConnected.scala index ac88ec7d4d..c63b303e62 100644 --- a/akka-actor/src/main/scala/akka/io/UdpConnected.scala +++ b/akka-actor/src/main/scala/akka/io/UdpConnected.scala @@ -38,6 +38,7 @@ object UdpConnected extends ExtensionId[UdpConnectedExt] with ExtensionIdProvide * Java API: retrieve the UdpConnected extension for the given system. */ override def get(system: ActorSystem): UdpConnectedExt = super.get(system) + override def get(system: ClassicActorSystemProvider): UdpConnectedExt = super.get(system) /** * The common interface for [[Command]] and [[Event]]. diff --git a/akka-actor/src/main/scala/akka/serialization/SerializationExtension.scala b/akka-actor/src/main/scala/akka/serialization/SerializationExtension.scala index 74fc0e8c11..0d22eb5568 100644 --- a/akka-actor/src/main/scala/akka/serialization/SerializationExtension.scala +++ b/akka-actor/src/main/scala/akka/serialization/SerializationExtension.scala @@ -4,6 +4,7 @@ package akka.serialization +import akka.actor.ClassicActorSystemProvider import akka.actor.{ ActorSystem, ExtendedActorSystem, ExtensionId, ExtensionIdProvider } /** @@ -12,6 +13,7 @@ import akka.actor.{ ActorSystem, ExtendedActorSystem, ExtensionId, ExtensionIdPr */ object SerializationExtension extends ExtensionId[Serialization] with ExtensionIdProvider { override def get(system: ActorSystem): Serialization = super.get(system) + override def get(system: ClassicActorSystemProvider): Serialization = super.get(system) override def lookup = SerializationExtension override def createExtension(system: ExtendedActorSystem): Serialization = new Serialization(system) } diff --git a/akka-actor/src/main/scala/akka/util/ManifestInfo.scala b/akka-actor/src/main/scala/akka/util/ManifestInfo.scala index 89767a7856..58de6ed7f6 100644 --- a/akka-actor/src/main/scala/akka/util/ManifestInfo.scala +++ b/akka-actor/src/main/scala/akka/util/ManifestInfo.scala @@ -11,6 +11,7 @@ import java.util.jar.Attributes import java.util.jar.Manifest import akka.actor.ActorSystem +import akka.actor.ClassicActorSystemProvider import akka.actor.ExtendedActorSystem import akka.actor.Extension import akka.actor.ExtensionId @@ -40,6 +41,7 @@ object ManifestInfo extends ExtensionId[ManifestInfo] with ExtensionIdProvider { "com.typesafe.play") override def get(system: ActorSystem): ManifestInfo = super.get(system) + override def get(system: ClassicActorSystemProvider): ManifestInfo = super.get(system) override def lookup(): ManifestInfo.type = ManifestInfo diff --git a/akka-cluster-metrics/src/main/mima-filters/2.6.0.backwards.excludes/28294-add-ExtensionId-apply-get-overloads.excludes b/akka-cluster-metrics/src/main/mima-filters/2.6.0.backwards.excludes/28294-add-ExtensionId-apply-get-overloads.excludes new file mode 100644 index 0000000000..1e6c1244bd --- /dev/null +++ b/akka-cluster-metrics/src/main/mima-filters/2.6.0.backwards.excludes/28294-add-ExtensionId-apply-get-overloads.excludes @@ -0,0 +1,4 @@ +# Incompatibilities against Akka < 2.5.17 where extra static bridge methods were generated that +# Mima now wrongly correlates with the new ones added in the PR +ProblemFilters.exclude[IncompatibleResultTypeProblem]("akka.cluster.metrics.ClusterMetricsExtension.get") + diff --git a/akka-cluster-metrics/src/main/scala/akka/cluster/metrics/ClusterMetricsExtension.scala b/akka-cluster-metrics/src/main/scala/akka/cluster/metrics/ClusterMetricsExtension.scala index e0d1bde6da..3f17bd6380 100644 --- a/akka-cluster-metrics/src/main/scala/akka/cluster/metrics/ClusterMetricsExtension.scala +++ b/akka-cluster-metrics/src/main/scala/akka/cluster/metrics/ClusterMetricsExtension.scala @@ -10,6 +10,7 @@ import akka.actor.SupervisorStrategy import akka.event.LoggingAdapter import akka.event.Logging import com.typesafe.config.Config + import scala.collection.immutable import akka.actor.Props import akka.actor.Deploy @@ -17,6 +18,7 @@ import akka.actor.ExtensionId import akka.actor.ExtensionIdProvider import akka.actor.ActorSystem import akka.actor.ActorRef +import akka.actor.ClassicActorSystemProvider /** * Cluster metrics extension. @@ -87,6 +89,7 @@ class ClusterMetricsExtension(system: ExtendedActorSystem) extends Extension { object ClusterMetricsExtension extends ExtensionId[ClusterMetricsExtension] with ExtensionIdProvider { override def lookup = ClusterMetricsExtension override def get(system: ActorSystem): ClusterMetricsExtension = super.get(system) + override def get(system: ClassicActorSystemProvider): ClusterMetricsExtension = super.get(system) override def createExtension(system: ExtendedActorSystem): ClusterMetricsExtension = new ClusterMetricsExtension(system) } diff --git a/akka-cluster-sharding-typed/src/test/scala/akka/cluster/sharding/typed/JoinConfigCompatCheckerClusterShardingSpec.scala b/akka-cluster-sharding-typed/src/test/scala/akka/cluster/sharding/typed/JoinConfigCompatCheckerClusterShardingSpec.scala index a1b27d16af..fbcfbb4087 100644 --- a/akka-cluster-sharding-typed/src/test/scala/akka/cluster/sharding/typed/JoinConfigCompatCheckerClusterShardingSpec.scala +++ b/akka-cluster-sharding-typed/src/test/scala/akka/cluster/sharding/typed/JoinConfigCompatCheckerClusterShardingSpec.scala @@ -8,7 +8,6 @@ import akka.actor.testkit.typed.scaladsl.ActorTestKit import akka.actor.testkit.typed.scaladsl.LogCapturing import akka.actor.testkit.typed.scaladsl.ScalaTestWithActorTestKit import akka.actor.typed.ActorSystem -import akka.actor.typed.scaladsl.adapter._ import akka.cluster.{ Cluster => ClassicCluster } import akka.testkit.LongRunningTest import com.typesafe.config.{ Config, ConfigFactory } @@ -50,14 +49,14 @@ abstract class JoinConfigCompatCheckerClusterShardingSpec protected def join(sys: ActorSystem[_]): ClassicCluster = { if (sys eq system) { configured(system) should ===(JoinConfig.Shards) - val seedNode = ClassicCluster(system.toClassic) + val seedNode = ClassicCluster(system) seedNode.join(seedNode.selfAddress) val probe = createTestProbe() probe.awaitAssert(seedNode.readView.isSingletonCluster should ===(true), clusterWaitDuration) seedNode } else { - val joiningNode = ClassicCluster(sys.toClassic) - joiningNode.joinSeedNodes(im.Seq(ClassicCluster(system.toClassic).selfAddress)) + val joiningNode = ClassicCluster(sys) + joiningNode.joinSeedNodes(im.Seq(ClassicCluster(system).selfAddress)) joiningNode } } diff --git a/akka-cluster-sharding/src/main/mima-filters/2.6.0.backwards.excludes/28294-add-ExtensionId-apply-get-overloads.excludes b/akka-cluster-sharding/src/main/mima-filters/2.6.0.backwards.excludes/28294-add-ExtensionId-apply-get-overloads.excludes new file mode 100644 index 0000000000..c7ba8e0493 --- /dev/null +++ b/akka-cluster-sharding/src/main/mima-filters/2.6.0.backwards.excludes/28294-add-ExtensionId-apply-get-overloads.excludes @@ -0,0 +1,4 @@ +# Incompatibilities against Akka < 2.5.17 where extra static bridge methods were generated that +# Mima now wrongly correlates with the new ones added in the PR +ProblemFilters.exclude[IncompatibleResultTypeProblem]("akka.cluster.sharding.ClusterSharding.get") + diff --git a/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/ClusterSharding.scala b/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/ClusterSharding.scala index 86a9e39868..cd85c6492d 100755 --- a/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/ClusterSharding.scala +++ b/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/ClusterSharding.scala @@ -11,11 +11,11 @@ import java.util.concurrent.ConcurrentHashMap import scala.collection.immutable import scala.concurrent.Await import scala.util.control.NonFatal - import akka.util.ccompat.JavaConverters._ import akka.actor.Actor import akka.actor.ActorRef import akka.actor.ActorSystem +import akka.actor.ClassicActorSystemProvider import akka.actor.Deploy import akka.actor.ExtendedActorSystem import akka.actor.Extension @@ -153,6 +153,7 @@ import akka.util.ByteString object ClusterSharding extends ExtensionId[ClusterSharding] with ExtensionIdProvider { override def get(system: ActorSystem): ClusterSharding = super.get(system) + override def get(system: ClassicActorSystemProvider): ClusterSharding = super.get(system) override def lookup = ClusterSharding diff --git a/akka-cluster-tools/src/main/mima-filters/2.6.0.backwards.excludes/28294-add-ExtensionId-apply-get-overloads.excludes b/akka-cluster-tools/src/main/mima-filters/2.6.0.backwards.excludes/28294-add-ExtensionId-apply-get-overloads.excludes new file mode 100644 index 0000000000..5e2bf2f62c --- /dev/null +++ b/akka-cluster-tools/src/main/mima-filters/2.6.0.backwards.excludes/28294-add-ExtensionId-apply-get-overloads.excludes @@ -0,0 +1,5 @@ +# Incompatibilities against Akka < 2.5.17 where extra static bridge methods were generated that +# Mima now wrongly correlates with the new ones added in the PR +ProblemFilters.exclude[IncompatibleResultTypeProblem]("akka.cluster.client.ClusterClientReceptionist.get") +ProblemFilters.exclude[IncompatibleResultTypeProblem]("akka.cluster.pubsub.DistributedPubSub.get") + diff --git a/akka-cluster-tools/src/main/scala/akka/cluster/client/ClusterClient.scala b/akka-cluster-tools/src/main/scala/akka/cluster/client/ClusterClient.scala index 092af156ad..be0406feaf 100644 --- a/akka-cluster-tools/src/main/scala/akka/cluster/client/ClusterClient.scala +++ b/akka-cluster-tools/src/main/scala/akka/cluster/client/ClusterClient.scala @@ -8,7 +8,6 @@ import java.net.URLEncoder import scala.collection.immutable import scala.concurrent.duration._ - import akka.actor.Actor import akka.actor.ActorIdentity import akka.actor.ActorLogging @@ -17,6 +16,7 @@ import akka.actor.ActorRef import akka.actor.ActorSystem import akka.actor.Address import akka.actor.Cancellable +import akka.actor.ClassicActorSystemProvider import akka.actor.DeadLetterSuppression import akka.actor.Deploy import akka.actor.ExtendedActorSystem @@ -40,6 +40,7 @@ import com.typesafe.config.Config import akka.remote.DeadlineFailureDetector import akka.util.MessageBuffer import akka.util.ccompat._ + import scala.collection.immutable.{ HashMap, HashSet } @ccompatUsedUntil213 @@ -557,6 +558,7 @@ final class ClusterClient(settings: ClusterClientSettings) extends Actor with Ac since = "2.6.0") object ClusterClientReceptionist extends ExtensionId[ClusterClientReceptionist] with ExtensionIdProvider { override def get(system: ActorSystem): ClusterClientReceptionist = super.get(system) + override def get(system: ClassicActorSystemProvider): ClusterClientReceptionist = super.get(system) override def lookup() = ClusterClientReceptionist diff --git a/akka-cluster-tools/src/main/scala/akka/cluster/pubsub/DistributedPubSubMediator.scala b/akka-cluster-tools/src/main/scala/akka/cluster/pubsub/DistributedPubSubMediator.scala index 5dbe7e57ec..70517710b2 100644 --- a/akka-cluster-tools/src/main/scala/akka/cluster/pubsub/DistributedPubSubMediator.scala +++ b/akka-cluster-tools/src/main/scala/akka/cluster/pubsub/DistributedPubSubMediator.scala @@ -920,6 +920,8 @@ class DistributedPubSubMediator(settings: DistributedPubSubSettings) object DistributedPubSub extends ExtensionId[DistributedPubSub] with ExtensionIdProvider { override def get(system: ActorSystem): DistributedPubSub = super.get(system) + override def get(system: ClassicActorSystemProvider): DistributedPubSub = super.get(system) + override def lookup = DistributedPubSub override def createExtension(system: ExtendedActorSystem): DistributedPubSub = diff --git a/akka-cluster-tools/src/multi-jvm/scala/akka/cluster/TestLeaseActor.scala b/akka-cluster-tools/src/multi-jvm/scala/akka/cluster/TestLeaseActor.scala index c5e63c49d7..901ea4c4cc 100644 --- a/akka-cluster-tools/src/multi-jvm/scala/akka/cluster/TestLeaseActor.scala +++ b/akka-cluster-tools/src/multi-jvm/scala/akka/cluster/TestLeaseActor.scala @@ -8,11 +8,11 @@ import java.util.concurrent.atomic.AtomicReference import scala.concurrent.Future import scala.concurrent.duration._ - import akka.actor.Actor import akka.actor.ActorLogging import akka.actor.ActorRef import akka.actor.ActorSystem +import akka.actor.ClassicActorSystemProvider import akka.actor.ExtendedActorSystem import akka.actor.Extension import akka.actor.ExtensionId @@ -73,6 +73,7 @@ class TestLeaseActor extends Actor with ActorLogging { object TestLeaseActorClientExt extends ExtensionId[TestLeaseActorClientExt] with ExtensionIdProvider { override def get(system: ActorSystem): TestLeaseActorClientExt = super.get(system) + override def get(system: ClassicActorSystemProvider): TestLeaseActorClientExt = super.get(system) override def lookup = TestLeaseActorClientExt override def createExtension(system: ExtendedActorSystem): TestLeaseActorClientExt = new TestLeaseActorClientExt(system) diff --git a/akka-cluster-tools/src/test/scala/akka/cluster/TestLease.scala b/akka-cluster-tools/src/test/scala/akka/cluster/TestLease.scala index 92251a929a..89ec6cbe73 100644 --- a/akka-cluster-tools/src/test/scala/akka/cluster/TestLease.scala +++ b/akka-cluster-tools/src/test/scala/akka/cluster/TestLease.scala @@ -7,6 +7,7 @@ package akka.cluster import java.util.concurrent.ConcurrentHashMap import java.util.concurrent.atomic.AtomicReference +import akka.actor.ClassicActorSystemProvider import akka.actor.{ ActorSystem, ExtendedActorSystem, Extension, ExtensionId, ExtensionIdProvider } import akka.coordination.lease.LeaseSettings import akka.coordination.lease.scaladsl.Lease @@ -19,6 +20,7 @@ import akka.util.ccompat.JavaConverters._ object TestLeaseExt extends ExtensionId[TestLeaseExt] with ExtensionIdProvider { override def get(system: ActorSystem): TestLeaseExt = super.get(system) + override def get(system: ClassicActorSystemProvider): TestLeaseExt = super.get(system) override def lookup = TestLeaseExt override def createExtension(system: ExtendedActorSystem): TestLeaseExt = new TestLeaseExt(system) } diff --git a/akka-cluster-typed/src/main/scala/akka/cluster/typed/ClusterSingleton.scala b/akka-cluster-typed/src/main/scala/akka/cluster/typed/ClusterSingleton.scala index f1971162c3..a6ec99657f 100644 --- a/akka-cluster-typed/src/main/scala/akka/cluster/typed/ClusterSingleton.scala +++ b/akka-cluster-typed/src/main/scala/akka/cluster/typed/ClusterSingleton.scala @@ -203,7 +203,6 @@ abstract class ClusterSingleton extends Extension { } object ClusterSingletonManagerSettings { - import akka.actor.typed.scaladsl.adapter._ /** * Create settings from the default configuration @@ -211,7 +210,7 @@ object ClusterSingletonManagerSettings { */ def apply(system: ActorSystem[_]): ClusterSingletonManagerSettings = apply(system.settings.config.getConfig("akka.cluster.singleton")) - .withRemovalMargin(akka.cluster.Cluster(system.toClassic).downingProvider.downRemovalMargin) + .withRemovalMargin(akka.cluster.Cluster(system).downingProvider.downRemovalMargin) /** * Create settings from a configuration with the same layout as diff --git a/akka-cluster-typed/src/main/scala/akka/cluster/typed/internal/AdaptedClusterImpl.scala b/akka-cluster-typed/src/main/scala/akka/cluster/typed/internal/AdaptedClusterImpl.scala index e4563a514b..17155a3878 100644 --- a/akka-cluster-typed/src/main/scala/akka/cluster/typed/internal/AdaptedClusterImpl.scala +++ b/akka-cluster-typed/src/main/scala/akka/cluster/typed/internal/AdaptedClusterImpl.scala @@ -142,7 +142,7 @@ private[akka] final class AdapterClusterImpl(system: ActorSystem[_]) extends Clu import AdapterClusterImpl._ require(system.isInstanceOf[ActorSystemAdapter[_]], "only adapted actor systems can be used for cluster features") - private val classicCluster = akka.cluster.Cluster(system.toClassic) + private val classicCluster = akka.cluster.Cluster(system) override def selfMember: Member = classicCluster.selfMember override def isTerminated: Boolean = classicCluster.isTerminated diff --git a/akka-cluster-typed/src/test/scala/akka/cluster/typed/ActorSystemSpec.scala b/akka-cluster-typed/src/test/scala/akka/cluster/typed/ActorSystemSpec.scala index a96498f90f..2352c09db0 100644 --- a/akka-cluster-typed/src/test/scala/akka/cluster/typed/ActorSystemSpec.scala +++ b/akka-cluster-typed/src/test/scala/akka/cluster/typed/ActorSystemSpec.scala @@ -72,7 +72,7 @@ class ActorSystemSpec akka.remote.classic.netty.tcp.port = 0 akka.remote.artery.canonical.port = 0 akka.remote.artery.canonical.hostname = 127.0.0.1 - + serializers { test = "akka.cluster.typed.ActorSystemSpec$$TestSerializer" } @@ -114,8 +114,7 @@ class ActorSystemSpec } inbox.receiveAll() should ===("hello" :: Nil) sys.whenTerminated.futureValue - CoordinatedShutdown(sys.toClassic).shutdownReason() should ===( - Some(CoordinatedShutdown.ActorSystemTerminateReason)) + CoordinatedShutdown(sys).shutdownReason() should ===(Some(CoordinatedShutdown.ActorSystemTerminateReason)) } } @@ -150,8 +149,7 @@ class ActorSystemSpec // now we know that the guardian has started, and should receive PostStop sys.terminate() sys.whenTerminated.futureValue - CoordinatedShutdown(sys.toClassic).shutdownReason() should ===( - Some(CoordinatedShutdown.ActorSystemTerminateReason)) + CoordinatedShutdown(sys).shutdownReason() should ===(Some(CoordinatedShutdown.ActorSystemTerminateReason)) inbox.receiveAll() should ===("done" :: Nil) } diff --git a/akka-cluster-typed/src/test/scala/akka/cluster/typed/internal/receptionist/ClusterReceptionistSpec.scala b/akka-cluster-typed/src/test/scala/akka/cluster/typed/internal/receptionist/ClusterReceptionistSpec.scala index 417a77c72a..dbd6fe4905 100644 --- a/akka-cluster-typed/src/test/scala/akka/cluster/typed/internal/receptionist/ClusterReceptionistSpec.scala +++ b/akka-cluster-typed/src/test/scala/akka/cluster/typed/internal/receptionist/ClusterReceptionistSpec.scala @@ -17,7 +17,6 @@ import akka.actor.typed.ActorRef import akka.actor.typed.receptionist.Receptionist import akka.actor.typed.receptionist.ServiceKey import akka.actor.typed.scaladsl.Behaviors -import akka.actor.typed.scaladsl.adapter._ import akka.cluster.MemberStatus import akka.cluster.typed.Cluster import akka.cluster.typed.Down @@ -210,7 +209,7 @@ class ClusterReceptionistSpec extends WordSpec with Matchers with LogCapturing { regProbe2.expectMessageType[Listing].serviceInstances(PingKey).size should ===(2) - akka.cluster.Cluster(system1.toClassic).shutdown() + akka.cluster.Cluster(system1).shutdown() regProbe2.expectNoMessage(3.seconds) diff --git a/akka-cluster-typed/src/test/scala/docs/akka/cluster/typed/DistributedPubSubExample.scala b/akka-cluster-typed/src/test/scala/docs/akka/cluster/typed/DistributedPubSubExample.scala index 3e47cd356d..01b6960906 100644 --- a/akka-cluster-typed/src/test/scala/docs/akka/cluster/typed/DistributedPubSubExample.scala +++ b/akka-cluster-typed/src/test/scala/docs/akka/cluster/typed/DistributedPubSubExample.scala @@ -87,8 +87,7 @@ object Publisher { Behaviors.setup[AnyRef] { context => import akka.cluster.pubsub.DistributedPubSub import akka.cluster.pubsub.DistributedPubSubMediator - import akka.actor.typed.scaladsl.adapter._ - val mediator = DistributedPubSub(context.system.toClassic).mediator + val mediator = DistributedPubSub(context.system).mediator var registry: Map[DataKey, DataType] = Map.empty @@ -263,8 +262,7 @@ object DataPlatform { def apply(): Behavior[ProvisionCommand] = { Behaviors.setup { context => //#mediator - import akka.actor.typed.scaladsl.adapter._ - val mediator = DistributedPubSub(context.system.toClassic).mediator + val mediator = DistributedPubSub(context.system).mediator //#mediator val service = context.spawn(DataService(mediator), "data") @@ -337,7 +335,7 @@ object DistributedPubSubExample { // provision new data type val platformProbe = TestProbe[DataApi]()(system) - val mediator = DistributedPubSub(system.toClassic).mediator + val mediator = DistributedPubSub(system).mediator mediator ! DistributedPubSubMediator.Subscribe(IngestionTopic, platformProbe.ref.toClassic) system ! ProvisionDataType(key, "dummy-schema", platformProbe.ref) diff --git a/akka-cluster/src/main/mima-filters/2.6.0.backwards.excludes/28294-add-ExtensionId-apply-get-overloads.excludes b/akka-cluster/src/main/mima-filters/2.6.0.backwards.excludes/28294-add-ExtensionId-apply-get-overloads.excludes new file mode 100644 index 0000000000..81ca3b809a --- /dev/null +++ b/akka-cluster/src/main/mima-filters/2.6.0.backwards.excludes/28294-add-ExtensionId-apply-get-overloads.excludes @@ -0,0 +1,4 @@ +# Incompatibilities against Akka < 2.5.17 where extra static bridge methods were generated that +# Mima now wrongly correlates with the new ones added in the PR +ProblemFilters.exclude[IncompatibleResultTypeProblem]("akka.cluster.Cluster.get") + diff --git a/akka-cluster/src/main/scala/akka/cluster/Cluster.scala b/akka-cluster/src/main/scala/akka/cluster/Cluster.scala index 91bf56b206..3ed3a97a3f 100644 --- a/akka-cluster/src/main/scala/akka/cluster/Cluster.scala +++ b/akka-cluster/src/main/scala/akka/cluster/Cluster.scala @@ -35,6 +35,8 @@ import com.github.ghik.silencer.silent object Cluster extends ExtensionId[Cluster] with ExtensionIdProvider { override def get(system: ActorSystem): Cluster = super.get(system) + override def get(system: ClassicActorSystemProvider): Cluster = super.get(system) + override def lookup = Cluster override def createExtension(system: ExtendedActorSystem): Cluster = new Cluster(system) diff --git a/akka-coordination/src/main/scala/akka/coordination/lease/javadsl/LeaseProvider.scala b/akka-coordination/src/main/scala/akka/coordination/lease/javadsl/LeaseProvider.scala index 8bc439dd5b..8c9af5312d 100644 --- a/akka-coordination/src/main/scala/akka/coordination/lease/javadsl/LeaseProvider.scala +++ b/akka-coordination/src/main/scala/akka/coordination/lease/javadsl/LeaseProvider.scala @@ -4,12 +4,14 @@ package akka.coordination.lease.javadsl +import akka.actor.ClassicActorSystemProvider import akka.actor.{ ActorSystem, ExtendedActorSystem, Extension, ExtensionId, ExtensionIdProvider } import akka.coordination.lease.internal.LeaseAdapter import akka.coordination.lease.scaladsl.{ LeaseProvider => ScalaLeaseProvider } object LeaseProvider extends ExtensionId[LeaseProvider] with ExtensionIdProvider { override def get(system: ActorSystem): LeaseProvider = super.get(system) + override def get(system: ClassicActorSystemProvider): LeaseProvider = super.get(system) override def lookup = LeaseProvider diff --git a/akka-coordination/src/main/scala/akka/coordination/lease/scaladsl/LeaseProvider.scala b/akka-coordination/src/main/scala/akka/coordination/lease/scaladsl/LeaseProvider.scala index f5c6413d91..c8e81e32a4 100644 --- a/akka-coordination/src/main/scala/akka/coordination/lease/scaladsl/LeaseProvider.scala +++ b/akka-coordination/src/main/scala/akka/coordination/lease/scaladsl/LeaseProvider.scala @@ -10,6 +10,7 @@ import java.util.function.{ Function => JFunction } import scala.collection.immutable import scala.util.{ Failure, Success, Try } import akka.actor.ActorSystem +import akka.actor.ClassicActorSystemProvider import akka.actor.ExtendedActorSystem import akka.actor.Extension import akka.actor.ExtensionId @@ -19,6 +20,7 @@ import akka.coordination.lease.LeaseSettings object LeaseProvider extends ExtensionId[LeaseProvider] with ExtensionIdProvider { override def get(system: ActorSystem): LeaseProvider = super.get(system) + override def get(system: ClassicActorSystemProvider): LeaseProvider = super.get(system) override def lookup = LeaseProvider diff --git a/akka-discovery/src/main/scala/akka/discovery/Discovery.scala b/akka-discovery/src/main/scala/akka/discovery/Discovery.scala index 2b2b0a7ebf..762fe268ce 100644 --- a/akka-discovery/src/main/scala/akka/discovery/Discovery.scala +++ b/akka-discovery/src/main/scala/akka/discovery/Discovery.scala @@ -103,6 +103,8 @@ object Discovery extends ExtensionId[Discovery] with ExtensionIdProvider { override def get(system: ActorSystem): Discovery = super.get(system) + override def get(system: ClassicActorSystemProvider): Discovery = super.get(system) + override def createExtension(system: ExtendedActorSystem): Discovery = new Discovery()(system) /** diff --git a/akka-distributed-data/src/main/mima-filters/2.6.0.backwards.excludes/28294-add-ExtensionId-apply-get-overloads.excludes b/akka-distributed-data/src/main/mima-filters/2.6.0.backwards.excludes/28294-add-ExtensionId-apply-get-overloads.excludes new file mode 100644 index 0000000000..3cd3a28174 --- /dev/null +++ b/akka-distributed-data/src/main/mima-filters/2.6.0.backwards.excludes/28294-add-ExtensionId-apply-get-overloads.excludes @@ -0,0 +1,4 @@ +# Incompatibilities against Akka < 2.5.17 where extra static bridge methods were generated that +# Mima now wrongly correlates with the new ones added in the PR +ProblemFilters.exclude[IncompatibleResultTypeProblem]("akka.cluster.ddata.DistributedData.get") + diff --git a/akka-distributed-data/src/main/scala/akka/cluster/ddata/DistributedData.scala b/akka-distributed-data/src/main/scala/akka/cluster/ddata/DistributedData.scala index d69d79d727..f28ca8e081 100644 --- a/akka-distributed-data/src/main/scala/akka/cluster/ddata/DistributedData.scala +++ b/akka-distributed-data/src/main/scala/akka/cluster/ddata/DistributedData.scala @@ -6,6 +6,7 @@ package akka.cluster.ddata import akka.actor.ActorRef import akka.actor.ActorSystem +import akka.actor.ClassicActorSystemProvider import akka.actor.ExtendedActorSystem import akka.actor.Extension import akka.actor.ExtensionId @@ -15,6 +16,7 @@ import akka.event.Logging object DistributedData extends ExtensionId[DistributedData] with ExtensionIdProvider { override def get(system: ActorSystem): DistributedData = super.get(system) + override def get(system: ClassicActorSystemProvider): DistributedData = super.get(system) override def lookup = DistributedData diff --git a/akka-docs/src/test/java/jdocs/persistence/ResumableProjectionExample.java b/akka-docs/src/test/java/jdocs/persistence/ResumableProjectionExample.java index 7c40f9a160..ffc20ab965 100644 --- a/akka-docs/src/test/java/jdocs/persistence/ResumableProjectionExample.java +++ b/akka-docs/src/test/java/jdocs/persistence/ResumableProjectionExample.java @@ -10,7 +10,6 @@ import akka.actor.typed.ActorSystem; import akka.actor.typed.Behavior; import akka.actor.typed.javadsl.AbstractBehavior; import akka.actor.typed.javadsl.ActorContext; -import akka.actor.typed.javadsl.Adapter; import akka.actor.typed.javadsl.Behaviors; import akka.actor.typed.javadsl.Receive; import akka.actor.typed.javadsl.AskPattern; @@ -31,7 +30,7 @@ public interface ResumableProjectionExample { throws Exception { final MyJavadslReadJournal readJournal = - PersistenceQuery.get(Adapter.toClassic(system)) + PersistenceQuery.get(system) .getReadJournalFor( MyJavadslReadJournal.class, "akka.persistence.query.my-read-journal"); diff --git a/akka-docs/src/test/scala/docs/extension/ExtensionDocSpec.scala b/akka-docs/src/test/scala/docs/extension/ExtensionDocSpec.scala index 85750d66c1..f3e6086370 100644 --- a/akka-docs/src/test/scala/docs/extension/ExtensionDocSpec.scala +++ b/akka-docs/src/test/scala/docs/extension/ExtensionDocSpec.scala @@ -5,7 +5,9 @@ package docs.extension import java.util.concurrent.atomic.AtomicLong + import akka.actor.Actor +import akka.actor.ClassicActorSystemProvider import akka.testkit.AkkaSpec //#extension @@ -42,6 +44,7 @@ object CountExtension extends ExtensionId[CountExtensionImpl] with ExtensionIdPr * Java API: retrieve the Count extension for the given system. */ override def get(system: ActorSystem): CountExtensionImpl = super.get(system) + override def get(system: ClassicActorSystemProvider): CountExtensionImpl = super.get(system) } //#extensionid diff --git a/akka-docs/src/test/scala/docs/extension/SettingsExtensionDocSpec.scala b/akka-docs/src/test/scala/docs/extension/SettingsExtensionDocSpec.scala index cf10e53b32..bff5d57556 100644 --- a/akka-docs/src/test/scala/docs/extension/SettingsExtensionDocSpec.scala +++ b/akka-docs/src/test/scala/docs/extension/SettingsExtensionDocSpec.scala @@ -10,10 +10,13 @@ import akka.actor.Extension import akka.actor.ExtensionId import akka.actor.ExtensionIdProvider import akka.actor.ExtendedActorSystem + import scala.concurrent.duration.Duration import com.typesafe.config.Config import java.util.concurrent.TimeUnit +import akka.actor.ClassicActorSystemProvider + //#imports import akka.actor.Actor @@ -39,6 +42,7 @@ object Settings extends ExtensionId[SettingsImpl] with ExtensionIdProvider { * Java API: retrieve the Settings extension for the given system. */ override def get(system: ActorSystem): SettingsImpl = super.get(system) + override def get(system: ClassicActorSystemProvider): SettingsImpl = super.get(system) } //#extensionid diff --git a/akka-multi-node-testkit/src/main/mima-filters/2.6.0.backwards.excludes/28294-add-ExtensionId-apply-get-overloads.excludes b/akka-multi-node-testkit/src/main/mima-filters/2.6.0.backwards.excludes/28294-add-ExtensionId-apply-get-overloads.excludes new file mode 100644 index 0000000000..d59d7d1f4e --- /dev/null +++ b/akka-multi-node-testkit/src/main/mima-filters/2.6.0.backwards.excludes/28294-add-ExtensionId-apply-get-overloads.excludes @@ -0,0 +1,4 @@ +# Incompatibilities against Akka < 2.5.17 where extra static bridge methods were generated that +# Mima now wrongly correlates with the new ones added in the PR +ProblemFilters.exclude[IncompatibleResultTypeProblem]("akka.remote.testconductor.TestConductor.get") + diff --git a/akka-multi-node-testkit/src/main/scala/akka/remote/testconductor/Extension.scala b/akka-multi-node-testkit/src/main/scala/akka/remote/testconductor/Extension.scala index e2919d971f..e7d2354507 100644 --- a/akka-multi-node-testkit/src/main/scala/akka/remote/testconductor/Extension.scala +++ b/akka-multi-node-testkit/src/main/scala/akka/remote/testconductor/Extension.scala @@ -4,6 +4,7 @@ package akka.remote.testconductor +import akka.actor.ClassicActorSystemProvider import akka.actor.{ ActorContext, ActorSystem, ExtendedActorSystem, Extension, ExtensionId, ExtensionIdProvider } import akka.remote.RemoteActorRefProvider import akka.util.Timeout @@ -30,6 +31,7 @@ object TestConductor extends ExtensionId[TestConductorExt] with ExtensionIdProvi * Java API: retrieve the TestConductor extension for the given system. */ override def get(system: ActorSystem): TestConductorExt = super.get(system) + override def get(system: ClassicActorSystemProvider): TestConductorExt = super.get(system) def apply()(implicit ctx: ActorContext): TestConductorExt = apply(ctx.system) diff --git a/akka-persistence-query/src/main/mima-filters/2.6.0.backwards.excludes/28294-add-ExtensionId-apply-get-overloads.excludes b/akka-persistence-query/src/main/mima-filters/2.6.0.backwards.excludes/28294-add-ExtensionId-apply-get-overloads.excludes new file mode 100644 index 0000000000..d3a9331d47 --- /dev/null +++ b/akka-persistence-query/src/main/mima-filters/2.6.0.backwards.excludes/28294-add-ExtensionId-apply-get-overloads.excludes @@ -0,0 +1,4 @@ +# Incompatibilities against Akka < 2.5.17 where extra static bridge methods were generated that +# Mima now wrongly correlates with the new ones added in the PR +ProblemFilters.exclude[IncompatibleResultTypeProblem]("akka.persistence.query.PersistenceQuery.get") + diff --git a/akka-persistence-query/src/main/scala/akka/persistence/query/PersistenceQuery.scala b/akka-persistence-query/src/main/scala/akka/persistence/query/PersistenceQuery.scala index 1808ce89cf..5d7ee48d17 100644 --- a/akka-persistence-query/src/main/scala/akka/persistence/query/PersistenceQuery.scala +++ b/akka-persistence-query/src/main/scala/akka/persistence/query/PersistenceQuery.scala @@ -18,10 +18,8 @@ import scala.reflect.ClassTag */ object PersistenceQuery extends ExtensionId[PersistenceQuery] with ExtensionIdProvider { - /** - * Java API. - */ override def get(system: ActorSystem): PersistenceQuery = super.get(system) + override def get(system: ClassicActorSystemProvider): PersistenceQuery = super.get(system) def createExtension(system: ExtendedActorSystem): PersistenceQuery = new PersistenceQuery(system) diff --git a/akka-persistence-typed/src/test/scala/akka/persistence/typed/scaladsl/EventSourcedBehaviorSpec.scala b/akka-persistence-typed/src/test/scala/akka/persistence/typed/scaladsl/EventSourcedBehaviorSpec.scala index 2ade41b6aa..de757ce07c 100644 --- a/akka-persistence-typed/src/test/scala/akka/persistence/typed/scaladsl/EventSourcedBehaviorSpec.scala +++ b/akka-persistence-typed/src/test/scala/akka/persistence/typed/scaladsl/EventSourcedBehaviorSpec.scala @@ -283,10 +283,9 @@ class EventSourcedBehaviorSpec with LogCapturing { import EventSourcedBehaviorSpec._ - import akka.actor.typed.scaladsl.adapter._ val queries: LeveldbReadJournal = - PersistenceQuery(system.toClassic).readJournalFor[LeveldbReadJournal](LeveldbReadJournal.Identifier) + PersistenceQuery(system).readJournalFor[LeveldbReadJournal](LeveldbReadJournal.Identifier) val pidCounter = new AtomicInteger(0) private def nextPid(): PersistenceId = PersistenceId.ofUniqueId(s"c${pidCounter.incrementAndGet()})") diff --git a/akka-persistence-typed/src/test/scala/akka/persistence/typed/scaladsl/EventSourcedEventAdapterSpec.scala b/akka-persistence-typed/src/test/scala/akka/persistence/typed/scaladsl/EventSourcedEventAdapterSpec.scala index 268377c635..b90ba5c5b6 100644 --- a/akka-persistence-typed/src/test/scala/akka/persistence/typed/scaladsl/EventSourcedEventAdapterSpec.scala +++ b/akka-persistence-typed/src/test/scala/akka/persistence/typed/scaladsl/EventSourcedEventAdapterSpec.scala @@ -96,13 +96,11 @@ class EventSourcedEventAdapterSpec State } - import akka.actor.typed.scaladsl.adapter._ - val pidCounter = new AtomicInteger(0) private def nextPid(): PersistenceId = PersistenceId.ofUniqueId(s"c${pidCounter.incrementAndGet()})") val queries: LeveldbReadJournal = - PersistenceQuery(system.toClassic).readJournalFor[LeveldbReadJournal](LeveldbReadJournal.Identifier) + PersistenceQuery(system).readJournalFor[LeveldbReadJournal](LeveldbReadJournal.Identifier) private def behavior(pid: PersistenceId, probe: ActorRef[String]): EventSourcedBehavior[String, String, String] = EventSourcedBehavior(pid, "", commandHandler = { (_, command) => diff --git a/akka-persistence-typed/src/test/scala/akka/persistence/typed/scaladsl/SnapshotRecoveryWithEmptyJournalSpec.scala b/akka-persistence-typed/src/test/scala/akka/persistence/typed/scaladsl/SnapshotRecoveryWithEmptyJournalSpec.scala index fdcc8cec0d..8d3e38219a 100644 --- a/akka-persistence-typed/src/test/scala/akka/persistence/typed/scaladsl/SnapshotRecoveryWithEmptyJournalSpec.scala +++ b/akka-persistence-typed/src/test/scala/akka/persistence/typed/scaladsl/SnapshotRecoveryWithEmptyJournalSpec.scala @@ -12,7 +12,6 @@ import akka.actor.testkit.typed.scaladsl.ScalaTestWithActorTestKit import akka.actor.typed.ActorRef import akka.actor.typed.Behavior import akka.actor.typed.scaladsl.Behaviors -import akka.actor.typed.scaladsl.adapter._ import akka.persistence.serialization.Snapshot import akka.persistence.typed.PersistenceId import akka.serialization.Serialization @@ -64,7 +63,7 @@ class SnapshotRecoveryWithEmptyJournalSpec val snapshotsDir: File = new File(survivingSnapshotPath) - val serializationExtension: Serialization = SerializationExtension(system.toClassic) + val serializationExtension: Serialization = SerializationExtension(system) val persistenceId: String = system.name diff --git a/akka-persistence/src/main/mima-filters/2.6.0.backwards.excludes/28294-add-ExtensionId-apply-get-overloads.excludes b/akka-persistence/src/main/mima-filters/2.6.0.backwards.excludes/28294-add-ExtensionId-apply-get-overloads.excludes new file mode 100644 index 0000000000..0dc201b334 --- /dev/null +++ b/akka-persistence/src/main/mima-filters/2.6.0.backwards.excludes/28294-add-ExtensionId-apply-get-overloads.excludes @@ -0,0 +1,6 @@ +# Incompatibilities against Akka < 2.5.17 where extra static bridge methods were generated that +# Mima now wrongly correlates with the new ones added in the PR +ProblemFilters.exclude[IncompatibleResultTypeProblem]("akka.persistence.fsm.SnapshotAfter.get") +ProblemFilters.exclude[IncompatibleResultTypeProblem]("akka.persistence.Persistence.get") +ProblemFilters.exclude[IncompatibleResultTypeProblem]("akka.persistence.journal.PersistencePluginProxyExtension.get") + diff --git a/akka-persistence/src/main/scala/akka/persistence/Persistence.scala b/akka-persistence/src/main/scala/akka/persistence/Persistence.scala index 59b70f19a4..082a1c69ec 100644 --- a/akka-persistence/src/main/scala/akka/persistence/Persistence.scala +++ b/akka-persistence/src/main/scala/akka/persistence/Persistence.scala @@ -158,6 +158,8 @@ object Persistence extends ExtensionId[Persistence] with ExtensionIdProvider { /** Java API. */ override def get(system: ActorSystem): Persistence = super.get(system) + override def get(system: ClassicActorSystemProvider): Persistence = super.get(system) + def createExtension(system: ExtendedActorSystem): Persistence = new Persistence(system) def lookup() = Persistence diff --git a/akka-persistence/src/main/scala/akka/persistence/fsm/PersistentFSM.scala b/akka-persistence/src/main/scala/akka/persistence/fsm/PersistentFSM.scala index a41e72b12a..3c699cc4fa 100644 --- a/akka-persistence/src/main/scala/akka/persistence/fsm/PersistentFSM.scala +++ b/akka-persistence/src/main/scala/akka/persistence/fsm/PersistentFSM.scala @@ -24,6 +24,8 @@ import scala.reflect.ClassTag private[akka] object SnapshotAfter extends ExtensionId[SnapshotAfter] with ExtensionIdProvider { override def get(system: ActorSystem): SnapshotAfter = super.get(system) + override def get(system: ClassicActorSystemProvider): SnapshotAfter = super.get(system) + override def lookup = SnapshotAfter override def createExtension(system: ExtendedActorSystem): SnapshotAfter = new SnapshotAfter(system.settings.config) diff --git a/akka-persistence/src/main/scala/akka/persistence/journal/PersistencePluginProxy.scala b/akka-persistence/src/main/scala/akka/persistence/journal/PersistencePluginProxy.scala index 38319682ac..4d1fe13490 100644 --- a/akka-persistence/src/main/scala/akka/persistence/journal/PersistencePluginProxy.scala +++ b/akka-persistence/src/main/scala/akka/persistence/journal/PersistencePluginProxy.scala @@ -68,6 +68,7 @@ object PersistencePluginProxyExtension new PersistencePluginProxyExtensionImpl(system) override def lookup(): ExtensionId[_ <: Extension] = PersistencePluginProxyExtension override def get(system: ActorSystem): PersistencePluginProxyExtensionImpl = super.get(system) + override def get(system: ClassicActorSystemProvider): PersistencePluginProxyExtensionImpl = super.get(system) } final class PersistencePluginProxy(config: Config) extends Actor with Stash with ActorLogging { diff --git a/akka-persistence/src/test/scala/akka/persistence/PersistentActorJournalProtocolSpec.scala b/akka-persistence/src/test/scala/akka/persistence/PersistentActorJournalProtocolSpec.scala index 4e48b6bafb..206008055a 100644 --- a/akka-persistence/src/test/scala/akka/persistence/PersistentActorJournalProtocolSpec.scala +++ b/akka-persistence/src/test/scala/akka/persistence/PersistentActorJournalProtocolSpec.scala @@ -82,6 +82,7 @@ object JournalPuppet extends ExtensionId[JournalProbe] with ExtensionIdProvider new JournalProbe()(system) override def get(system: ActorSystem): JournalProbe = super.get(system) + override def get(system: ClassicActorSystemProvider): JournalProbe = super.get(system) } class JournalProbe(implicit private val system: ExtendedActorSystem) extends Extension { val probe = TestProbe() diff --git a/akka-remote/src/main/mima-filters/2.6.0.backwards.excludes/28294-add-ExtensionId-apply-get-overloads.excludes b/akka-remote/src/main/mima-filters/2.6.0.backwards.excludes/28294-add-ExtensionId-apply-get-overloads.excludes new file mode 100644 index 0000000000..48213461d5 --- /dev/null +++ b/akka-remote/src/main/mima-filters/2.6.0.backwards.excludes/28294-add-ExtensionId-apply-get-overloads.excludes @@ -0,0 +1,7 @@ +# Incompatibilities against Akka < 2.5.17 where extra static bridge methods were generated that +# Mima now wrongly correlates with the new ones added in the PR +ProblemFilters.exclude[IncompatibleResultTypeProblem]("akka.remote.AddressUidExtension.get") +ProblemFilters.exclude[IncompatibleResultTypeProblem]("akka.remote.BoundAddressesExtension.get") +ProblemFilters.exclude[IncompatibleResultTypeProblem]("akka.remote.RemoteMetricsExtension.get") +ProblemFilters.exclude[IncompatibleResultTypeProblem]("akka.remote.serialization.ActorRefResolveThreadLocalCache.get") +ProblemFilters.exclude[IncompatibleResultTypeProblem]("akka.remote.transport.TransportAdaptersExtension.get") diff --git a/akka-remote/src/main/scala/akka/remote/AddressUidExtension.scala b/akka-remote/src/main/scala/akka/remote/AddressUidExtension.scala index 5756b842b1..4d2b8c5683 100644 --- a/akka-remote/src/main/scala/akka/remote/AddressUidExtension.scala +++ b/akka-remote/src/main/scala/akka/remote/AddressUidExtension.scala @@ -5,7 +5,9 @@ package akka.remote import java.util.concurrent.ThreadLocalRandom + import akka.actor.ActorSystem +import akka.actor.ClassicActorSystemProvider import akka.actor.ExtendedActorSystem import akka.actor.Extension import akka.actor.ExtensionId @@ -21,6 +23,7 @@ import akka.actor.ExtensionIdProvider */ object AddressUidExtension extends ExtensionId[AddressUidExtension] with ExtensionIdProvider { override def get(system: ActorSystem): AddressUidExtension = super.get(system) + override def get(system: ClassicActorSystemProvider): AddressUidExtension = super.get(system) override def lookup = AddressUidExtension diff --git a/akka-remote/src/main/scala/akka/remote/BoundAddressesExtension.scala b/akka-remote/src/main/scala/akka/remote/BoundAddressesExtension.scala index 772b8dc377..ae6357f08e 100644 --- a/akka-remote/src/main/scala/akka/remote/BoundAddressesExtension.scala +++ b/akka-remote/src/main/scala/akka/remote/BoundAddressesExtension.scala @@ -6,6 +6,7 @@ package akka.remote import akka.actor.ActorSystem import akka.actor.Address +import akka.actor.ClassicActorSystemProvider import akka.actor.ExtendedActorSystem import akka.actor.Extension import akka.actor.ExtensionId @@ -17,6 +18,7 @@ import akka.remote.artery.ArteryTransport */ object BoundAddressesExtension extends ExtensionId[BoundAddressesExtension] with ExtensionIdProvider { override def get(system: ActorSystem): BoundAddressesExtension = super.get(system) + override def get(system: ClassicActorSystemProvider): BoundAddressesExtension = super.get(system) override def lookup = BoundAddressesExtension diff --git a/akka-remote/src/main/scala/akka/remote/RemoteMetricsExtension.scala b/akka-remote/src/main/scala/akka/remote/RemoteMetricsExtension.scala index aace1fe9b2..e562fd5c30 100644 --- a/akka-remote/src/main/scala/akka/remote/RemoteMetricsExtension.scala +++ b/akka-remote/src/main/scala/akka/remote/RemoteMetricsExtension.scala @@ -7,9 +7,9 @@ package akka.remote import java.util.concurrent.ConcurrentHashMap import scala.annotation.tailrec - import akka.actor.ActorSelectionMessage import akka.actor.ActorSystem +import akka.actor.ClassicActorSystemProvider import akka.actor.ExtendedActorSystem import akka.actor.Extension import akka.actor.ExtensionId @@ -26,6 +26,7 @@ import com.github.ghik.silencer.silent @silent("deprecated") private[akka] object RemoteMetricsExtension extends ExtensionId[RemoteMetrics] with ExtensionIdProvider { override def get(system: ActorSystem): RemoteMetrics = super.get(system) + override def get(system: ClassicActorSystemProvider): RemoteMetrics = super.get(system) override def lookup = RemoteMetricsExtension diff --git a/akka-remote/src/main/scala/akka/remote/serialization/ActorRefResolveCache.scala b/akka-remote/src/main/scala/akka/remote/serialization/ActorRefResolveCache.scala index 732bc80422..a2b2f8da40 100644 --- a/akka-remote/src/main/scala/akka/remote/serialization/ActorRefResolveCache.scala +++ b/akka-remote/src/main/scala/akka/remote/serialization/ActorRefResolveCache.scala @@ -6,6 +6,7 @@ package akka.remote.serialization import akka.actor.ActorRef import akka.actor.ActorSystem +import akka.actor.ClassicActorSystemProvider import akka.actor.EmptyLocalActorRef import akka.actor.ExtendedActorSystem import akka.actor.Extension @@ -23,6 +24,7 @@ private[akka] object ActorRefResolveThreadLocalCache with ExtensionIdProvider { override def get(system: ActorSystem): ActorRefResolveThreadLocalCache = super.get(system) + override def get(system: ClassicActorSystemProvider): ActorRefResolveThreadLocalCache = super.get(system) override def lookup = ActorRefResolveThreadLocalCache diff --git a/akka-remote/src/main/scala/akka/remote/transport/AbstractTransportAdapter.scala b/akka-remote/src/main/scala/akka/remote/transport/AbstractTransportAdapter.scala index 3e42c3fe20..14757c6583 100644 --- a/akka-remote/src/main/scala/akka/remote/transport/AbstractTransportAdapter.scala +++ b/akka-remote/src/main/scala/akka/remote/transport/AbstractTransportAdapter.scala @@ -49,6 +49,7 @@ class TransportAdapters(system: ExtendedActorSystem) extends Extension { @deprecated("Classic remoting is deprecated, use Artery", "2.6.0") object TransportAdaptersExtension extends ExtensionId[TransportAdapters] with ExtensionIdProvider { override def get(system: ActorSystem): TransportAdapters = super.get(system) + override def get(system: ClassicActorSystemProvider): TransportAdapters = super.get(system) override def lookup = TransportAdaptersExtension override def createExtension(system: ExtendedActorSystem): TransportAdapters = new TransportAdapters(system) diff --git a/akka-remote/src/test/scala/akka/remote/artery/MetadataCarryingSpec.scala b/akka-remote/src/test/scala/akka/remote/artery/MetadataCarryingSpec.scala index dbf936dbb0..24f17689c1 100644 --- a/akka-remote/src/test/scala/akka/remote/artery/MetadataCarryingSpec.scala +++ b/akka-remote/src/test/scala/akka/remote/artery/MetadataCarryingSpec.scala @@ -18,6 +18,7 @@ import akka.testkit.JavaSerializable object MetadataCarryingSpy extends ExtensionId[MetadataCarryingSpy] with ExtensionIdProvider { override def get(system: ActorSystem): MetadataCarryingSpy = super.get(system) + override def get(system: ClassicActorSystemProvider): MetadataCarryingSpy = super.get(system) override def lookup = MetadataCarryingSpy override def createExtension(system: ExtendedActorSystem): MetadataCarryingSpy = new MetadataCarryingSpy diff --git a/akka-serialization-jackson/src/main/scala/akka/serialization/jackson/JacksonObjectMapperProvider.scala b/akka-serialization-jackson/src/main/scala/akka/serialization/jackson/JacksonObjectMapperProvider.scala index 51761c0d4a..f1e23b818d 100644 --- a/akka-serialization-jackson/src/main/scala/akka/serialization/jackson/JacksonObjectMapperProvider.scala +++ b/akka-serialization-jackson/src/main/scala/akka/serialization/jackson/JacksonObjectMapperProvider.scala @@ -12,6 +12,7 @@ import scala.compat.java8.OptionConverters._ import scala.util.Failure import scala.util.Success import akka.actor.ActorSystem +import akka.actor.ClassicActorSystemProvider import akka.actor.DynamicAccess import akka.actor.ExtendedActorSystem import akka.actor.Extension @@ -44,6 +45,7 @@ import com.fasterxml.jackson.databind.json.JsonMapper object JacksonObjectMapperProvider extends ExtensionId[JacksonObjectMapperProvider] with ExtensionIdProvider { override def get(system: ActorSystem): JacksonObjectMapperProvider = super.get(system) + override def get(system: ClassicActorSystemProvider): JacksonObjectMapperProvider = super.get(system) override def lookup = JacksonObjectMapperProvider diff --git a/akka-stream/src/main/mima-filters/2.6.0.backwards.excludes/28294-add-ExtensionId-apply-get-overloads.excludes b/akka-stream/src/main/mima-filters/2.6.0.backwards.excludes/28294-add-ExtensionId-apply-get-overloads.excludes new file mode 100644 index 0000000000..6cd9e49627 --- /dev/null +++ b/akka-stream/src/main/mima-filters/2.6.0.backwards.excludes/28294-add-ExtensionId-apply-get-overloads.excludes @@ -0,0 +1,8 @@ +# Incompatibilities against Akka < 2.5.17 where extra static bridge methods were generated that +# Mima now wrongly correlates with the new ones added in the PR +ProblemFilters.exclude[IncompatibleResultTypeProblem]("akka.stream.javadsl.Tcp.get") +ProblemFilters.exclude[IncompatibleResultTypeProblem]("akka.stream.scaladsl.Tcp.apply") +ProblemFilters.exclude[IncompatibleResultTypeProblem]("akka.stream.scaladsl.Tcp.get") +ProblemFilters.exclude[IncompatibleResultTypeProblem]("com.typesafe.sslconfig.akka.AkkaSSLConfig.apply") +ProblemFilters.exclude[IncompatibleResultTypeProblem]("com.typesafe.sslconfig.akka.AkkaSSLConfig.get") + diff --git a/akka-stream/src/main/scala/akka/stream/StreamRefs.scala b/akka-stream/src/main/scala/akka/stream/StreamRefs.scala index 2a59aefc76..1180cd0871 100644 --- a/akka-stream/src/main/scala/akka/stream/StreamRefs.scala +++ b/akka-stream/src/main/scala/akka/stream/StreamRefs.scala @@ -7,6 +7,7 @@ package akka.stream import akka.NotUsed import akka.actor.ActorRef import akka.actor.ActorSystem +import akka.actor.ClassicActorSystemProvider import akka.actor.ExtendedActorSystem import akka.actor.Extension import akka.actor.ExtensionId @@ -120,11 +121,8 @@ final case class InvalidPartnerActorException(expectedRef: ActorRef, gotRef: Act * The stream ref resolver extension provides a way to serialize and deserialize streamrefs in user serializers. */ object StreamRefResolver extends ExtensionId[StreamRefResolver] { - - /** - * Java API - */ override def get(system: ActorSystem): StreamRefResolver = super.get(system) + override def get(system: ClassicActorSystemProvider): StreamRefResolver = super.get(system) override def createExtension(system: ExtendedActorSystem): StreamRefResolver = new StreamRefResolverImpl(system) diff --git a/akka-stream/src/main/scala/akka/stream/SystemMaterializer.scala b/akka-stream/src/main/scala/akka/stream/SystemMaterializer.scala index 1916c7d5b7..ee634de66b 100644 --- a/akka-stream/src/main/scala/akka/stream/SystemMaterializer.scala +++ b/akka-stream/src/main/scala/akka/stream/SystemMaterializer.scala @@ -5,6 +5,7 @@ package akka.stream import akka.actor.ActorSystem +import akka.actor.ClassicActorSystemProvider import akka.actor.Deploy import akka.actor.ExtendedActorSystem import akka.actor.Extension @@ -29,6 +30,7 @@ import com.github.ghik.silencer.silent */ object SystemMaterializer extends ExtensionId[SystemMaterializer] with ExtensionIdProvider { override def get(system: ActorSystem): SystemMaterializer = super.get(system) + override def get(system: ClassicActorSystemProvider): SystemMaterializer = super.get(system) override def lookup = SystemMaterializer diff --git a/akka-stream/src/main/scala/akka/stream/impl/ActorMaterializerImpl.scala b/akka-stream/src/main/scala/akka/stream/impl/ActorMaterializerImpl.scala index 96fb8e9907..fb309497a6 100644 --- a/akka-stream/src/main/scala/akka/stream/impl/ActorMaterializerImpl.scala +++ b/akka-stream/src/main/scala/akka/stream/impl/ActorMaterializerImpl.scala @@ -174,6 +174,7 @@ private[akka] class SubFusingActorMaterializerImpl( */ @InternalApi private[akka] object FlowNames extends ExtensionId[FlowNames] with ExtensionIdProvider { override def get(system: ActorSystem): FlowNames = super.get(system) + override def get(system: ClassicActorSystemProvider): FlowNames = super.get(system) override def lookup() = FlowNames override def createExtension(system: ExtendedActorSystem): FlowNames = new FlowNames } diff --git a/akka-stream/src/main/scala/akka/stream/impl/streamref/StreamRefsMaster.scala b/akka-stream/src/main/scala/akka/stream/impl/streamref/StreamRefsMaster.scala index dd3f295f1e..d9e8be1f65 100644 --- a/akka-stream/src/main/scala/akka/stream/impl/streamref/StreamRefsMaster.scala +++ b/akka-stream/src/main/scala/akka/stream/impl/streamref/StreamRefsMaster.scala @@ -4,6 +4,7 @@ package akka.stream.impl.streamref +import akka.actor.ClassicActorSystemProvider import akka.actor.{ ActorSystem, ExtendedActorSystem, Extension, ExtensionId, ExtensionIdProvider } import akka.annotation.InternalApi import akka.stream.impl.SeqActorName @@ -18,6 +19,7 @@ private[stream] object StreamRefsMaster extends ExtensionId[StreamRefsMaster] wi override def lookup(): StreamRefsMaster.type = this override def get(system: ActorSystem): StreamRefsMaster = super.get(system) + override def get(system: ClassicActorSystemProvider): StreamRefsMaster = super.get(system) } /** INTERNAL API */ diff --git a/akka-stream/src/main/scala/akka/stream/javadsl/Tcp.scala b/akka-stream/src/main/scala/akka/stream/javadsl/Tcp.scala index fc8932eda6..c570052035 100644 --- a/akka-stream/src/main/scala/akka/stream/javadsl/Tcp.scala +++ b/akka-stream/src/main/scala/akka/stream/javadsl/Tcp.scala @@ -130,6 +130,8 @@ object Tcp extends ExtensionId[Tcp] with ExtensionIdProvider { override def get(system: ActorSystem): Tcp = super.get(system) + override def get(system: ClassicActorSystemProvider): Tcp = super.get(system) + def lookup() = Tcp def createExtension(system: ExtendedActorSystem): Tcp = new Tcp(system) diff --git a/akka-stream/src/main/scala/akka/stream/scaladsl/Tcp.scala b/akka-stream/src/main/scala/akka/stream/scaladsl/Tcp.scala index ca38d3861c..d65f0ea485 100644 --- a/akka-stream/src/main/scala/akka/stream/scaladsl/Tcp.scala +++ b/akka-stream/src/main/scala/akka/stream/scaladsl/Tcp.scala @@ -81,6 +81,7 @@ object Tcp extends ExtensionId[Tcp] with ExtensionIdProvider { def apply()(implicit system: ActorSystem): Tcp = super.apply(system) override def get(system: ActorSystem): Tcp = super.get(system) + override def get(system: ClassicActorSystemProvider): Tcp = super.get(system) def lookup() = Tcp diff --git a/akka-stream/src/main/scala/com/typesafe/sslconfig/akka/AkkaSSLConfig.scala b/akka-stream/src/main/scala/com/typesafe/sslconfig/akka/AkkaSSLConfig.scala index a332a8757d..6f98467417 100644 --- a/akka-stream/src/main/scala/com/typesafe/sslconfig/akka/AkkaSSLConfig.scala +++ b/akka-stream/src/main/scala/com/typesafe/sslconfig/akka/AkkaSSLConfig.scala @@ -22,6 +22,7 @@ object AkkaSSLConfig extends ExtensionId[AkkaSSLConfig] with ExtensionIdProvider //////////////////// EXTENSION SETUP /////////////////// override def get(system: ActorSystem): AkkaSSLConfig = super.get(system) + override def get(system: ClassicActorSystemProvider): AkkaSSLConfig = super.get(system) def apply()(implicit system: ActorSystem): AkkaSSLConfig = super.apply(system) override def lookup() = AkkaSSLConfig diff --git a/akka-testkit/src/main/mima-filters/2.6.0.backwards.excludes/28294-add-ExtensionId-apply-get-overloads.excludes b/akka-testkit/src/main/mima-filters/2.6.0.backwards.excludes/28294-add-ExtensionId-apply-get-overloads.excludes new file mode 100644 index 0000000000..1b84c101aa --- /dev/null +++ b/akka-testkit/src/main/mima-filters/2.6.0.backwards.excludes/28294-add-ExtensionId-apply-get-overloads.excludes @@ -0,0 +1,4 @@ +# Incompatibilities against Akka < 2.5.17 where extra static bridge methods were generated that +# Mima now wrongly correlates with the new ones added in the PR +ProblemFilters.exclude[IncompatibleResultTypeProblem]("akka.testkit.TestKitExtension.get") + diff --git a/akka-testkit/src/main/scala/akka/testkit/TestKitExtension.scala b/akka-testkit/src/main/scala/akka/testkit/TestKitExtension.scala index 20952826df..0d59812a13 100644 --- a/akka-testkit/src/main/scala/akka/testkit/TestKitExtension.scala +++ b/akka-testkit/src/main/scala/akka/testkit/TestKitExtension.scala @@ -4,13 +4,16 @@ package akka.testkit +import akka.actor.ClassicActorSystemProvider import com.typesafe.config.Config import akka.util.Timeout import akka.actor.{ ActorSystem, ExtendedActorSystem, Extension, ExtensionId } + import scala.concurrent.duration.FiniteDuration object TestKitExtension extends ExtensionId[TestKitSettings] { override def get(system: ActorSystem): TestKitSettings = super.get(system) + override def get(system: ClassicActorSystemProvider): TestKitSettings = super.get(system) def createExtension(system: ExtendedActorSystem): TestKitSettings = new TestKitSettings(system.settings.config) }