actor: allow seamless access to untyped extensions given typed ActorSystem (#28294)
* actor: allow seamless access to untyped extensions given typed ActorSystem * add overrides with concrete type for Java API everywhere
This commit is contained in:
parent
2c96a57d89
commit
702b6a7f41
70 changed files with 192 additions and 49 deletions
|
|
@ -5,7 +5,6 @@
|
||||||
package akka.actor.typed.internal
|
package akka.actor.typed.internal
|
||||||
|
|
||||||
import akka.actor.typed.scaladsl.Behaviors
|
import akka.actor.typed.scaladsl.Behaviors
|
||||||
import akka.actor.typed.scaladsl.adapter._
|
|
||||||
import akka.actor.typed.ActorRef
|
import akka.actor.typed.ActorRef
|
||||||
import akka.serialization.{ JavaSerializer, SerializationExtension }
|
import akka.serialization.{ JavaSerializer, SerializationExtension }
|
||||||
import akka.actor.testkit.typed.scaladsl.ScalaTestWithActorTestKit
|
import akka.actor.testkit.typed.scaladsl.ScalaTestWithActorTestKit
|
||||||
|
|
@ -32,7 +31,7 @@ class ActorRefSerializationSpec
|
||||||
with WordSpecLike
|
with WordSpecLike
|
||||||
with LogCapturing {
|
with LogCapturing {
|
||||||
|
|
||||||
val serialization = SerializationExtension(system.toClassic)
|
val serialization = SerializationExtension(system)
|
||||||
|
|
||||||
"ActorRef[T]" must {
|
"ActorRef[T]" must {
|
||||||
"be serialized and deserialized by MiscMessageSerializer" in {
|
"be serialized and deserialized by MiscMessageSerializer" in {
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,6 @@ import akka.actor.{ Address, CoordinatedShutdown, InvalidMessageException }
|
||||||
import akka.actor.testkit.typed.scaladsl.TestInbox
|
import akka.actor.testkit.typed.scaladsl.TestInbox
|
||||||
import akka.actor.testkit.typed.scaladsl.LogCapturing
|
import akka.actor.testkit.typed.scaladsl.LogCapturing
|
||||||
import akka.actor.typed.scaladsl.Behaviors
|
import akka.actor.typed.scaladsl.Behaviors
|
||||||
import akka.actor.typed.scaladsl.adapter._
|
|
||||||
import org.scalatest._
|
import org.scalatest._
|
||||||
import org.scalatest.concurrent.Eventually
|
import org.scalatest.concurrent.Eventually
|
||||||
import org.scalatest.concurrent.ScalaFutures
|
import org.scalatest.concurrent.ScalaFutures
|
||||||
|
|
@ -62,8 +61,7 @@ class ActorSystemSpec
|
||||||
}
|
}
|
||||||
inbox.receiveAll() should ===("hello" :: Nil)
|
inbox.receiveAll() should ===("hello" :: Nil)
|
||||||
sys.whenTerminated.futureValue
|
sys.whenTerminated.futureValue
|
||||||
CoordinatedShutdown(sys.toClassic).shutdownReason() should ===(
|
CoordinatedShutdown(sys).shutdownReason() should ===(Some(CoordinatedShutdown.ActorSystemTerminateReason))
|
||||||
Some(CoordinatedShutdown.ActorSystemTerminateReason))
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -98,8 +96,7 @@ class ActorSystemSpec
|
||||||
// now we know that the guardian has started, and should receive PostStop
|
// now we know that the guardian has started, and should receive PostStop
|
||||||
sys.terminate()
|
sys.terminate()
|
||||||
sys.whenTerminated.futureValue
|
sys.whenTerminated.futureValue
|
||||||
CoordinatedShutdown(sys.toClassic).shutdownReason() should ===(
|
CoordinatedShutdown(sys).shutdownReason() should ===(Some(CoordinatedShutdown.ActorSystemTerminateReason))
|
||||||
Some(CoordinatedShutdown.ActorSystemTerminateReason))
|
|
||||||
inbox.receiveAll() should ===("done" :: Nil)
|
inbox.receiveAll() should ===("done" :: Nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,6 @@ package akka.actor.typed.internal.receptionist
|
||||||
|
|
||||||
import akka.actor.typed.internal.ActorRefSerializationSpec
|
import akka.actor.typed.internal.ActorRefSerializationSpec
|
||||||
import akka.actor.typed.receptionist.ServiceKey
|
import akka.actor.typed.receptionist.ServiceKey
|
||||||
import akka.actor.typed.scaladsl.adapter._
|
|
||||||
import akka.serialization.SerializationExtension
|
import akka.serialization.SerializationExtension
|
||||||
import akka.actor.testkit.typed.scaladsl.ScalaTestWithActorTestKit
|
import akka.actor.testkit.typed.scaladsl.ScalaTestWithActorTestKit
|
||||||
import akka.actor.testkit.typed.scaladsl.LogCapturing
|
import akka.actor.testkit.typed.scaladsl.LogCapturing
|
||||||
|
|
@ -17,7 +16,7 @@ class ServiceKeySerializationSpec
|
||||||
with WordSpecLike
|
with WordSpecLike
|
||||||
with LogCapturing {
|
with LogCapturing {
|
||||||
|
|
||||||
val serialization = SerializationExtension(system.toClassic)
|
val serialization = SerializationExtension(system)
|
||||||
|
|
||||||
"ServiceKey[T]" must {
|
"ServiceKey[T]" must {
|
||||||
"be serialized and deserialized by ServiceKeySerializer" in {
|
"be serialized and deserialized by ServiceKeySerializer" in {
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,6 @@
|
||||||
package akka.actor.typed.scaladsl.adapter
|
package akka.actor.typed.scaladsl.adapter
|
||||||
|
|
||||||
import scala.util.control.NoStackTrace
|
import scala.util.control.NoStackTrace
|
||||||
|
|
||||||
import akka.actor.InvalidMessageException
|
import akka.actor.InvalidMessageException
|
||||||
import akka.actor.testkit.typed.TestException
|
import akka.actor.testkit.typed.TestException
|
||||||
import akka.actor.typed.scaladsl.Behaviors
|
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.LogCapturing
|
||||||
import akka.actor.testkit.typed.scaladsl.LoggingTestKit
|
import akka.actor.testkit.typed.scaladsl.LoggingTestKit
|
||||||
import akka.actor.typed.internal.adapter.SchedulerAdapter
|
import akka.actor.typed.internal.adapter.SchedulerAdapter
|
||||||
|
import akka.serialization.SerializationExtension
|
||||||
import akka.{ actor => classic }
|
import akka.{ actor => classic }
|
||||||
import org.scalatest.{ BeforeAndAfterAll, Matchers, WordSpec }
|
import org.scalatest.{ BeforeAndAfterAll, Matchers, WordSpec }
|
||||||
|
|
||||||
|
|
@ -183,6 +183,7 @@ class AdapterSpec extends WordSpec with Matchers with BeforeAndAfterAll with Log
|
||||||
import AdapterSpec._
|
import AdapterSpec._
|
||||||
|
|
||||||
implicit val system = akka.actor.ActorSystem("AdapterSpec")
|
implicit val system = akka.actor.ActorSystem("AdapterSpec")
|
||||||
|
def typedSystem: ActorSystem[Nothing] = system.toTyped
|
||||||
|
|
||||||
"ActorSystem adaption" must {
|
"ActorSystem adaption" must {
|
||||||
"only happen once for a given actor system" in {
|
"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.getClass should ===(classOf[SchedulerAdapter])
|
||||||
(typedScheduler.toClassic should be).theSameInstanceAs(system.scheduler)
|
(typedScheduler.toClassic should be).theSameInstanceAs(system.scheduler)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
"allow seamless access to untyped extensions" in {
|
||||||
|
SerializationExtension(typedSystem) should not be (null)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
"Adapted actors" must {
|
"Adapted actors" must {
|
||||||
|
|
|
||||||
|
|
@ -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")
|
||||||
|
|
||||||
|
|
@ -181,6 +181,8 @@ object CoordinatedShutdown extends ExtensionId[CoordinatedShutdown] with Extensi
|
||||||
|
|
||||||
override def get(system: ActorSystem): CoordinatedShutdown = super.get(system)
|
override def get(system: ActorSystem): CoordinatedShutdown = super.get(system)
|
||||||
|
|
||||||
|
override def get(system: ClassicActorSystemProvider): CoordinatedShutdown = super.get(system)
|
||||||
|
|
||||||
override def lookup = CoordinatedShutdown
|
override def lookup = CoordinatedShutdown
|
||||||
|
|
||||||
override def createExtension(system: ExtendedActorSystem): CoordinatedShutdown = {
|
override def createExtension(system: ExtendedActorSystem): CoordinatedShutdown = {
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,7 @@ package akka.actor
|
||||||
*
|
*
|
||||||
* // Java API: retrieve the extension for the given system.
|
* // Java API: retrieve the extension for the given system.
|
||||||
* override def get(system: ActorSystem): UdpExt = super.get(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 {
|
* 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)
|
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.
|
* Returns an instance of the extension identified by this ExtensionId instance.
|
||||||
* Java API
|
* Java API
|
||||||
|
|
@ -89,6 +95,18 @@ trait ExtensionId[T <: Extension] {
|
||||||
*/
|
*/
|
||||||
def get(system: ActorSystem): T = apply(system)
|
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,
|
* Is used by Akka to instantiate the Extension identified by this ExtensionId,
|
||||||
* internal use only.
|
* internal use only.
|
||||||
|
|
|
||||||
|
|
@ -106,6 +106,7 @@ trait TypedActorFactory {
|
||||||
@deprecated("Use 'akka.actor.typed' API.", since = "2.6.0")
|
@deprecated("Use 'akka.actor.typed' API.", since = "2.6.0")
|
||||||
object TypedActor extends ExtensionId[TypedActorExtension] with ExtensionIdProvider {
|
object TypedActor extends ExtensionId[TypedActorExtension] with ExtensionIdProvider {
|
||||||
override def get(system: ActorSystem): TypedActorExtension = super.get(system)
|
override def get(system: ActorSystem): TypedActorExtension = super.get(system)
|
||||||
|
override def get(system: ClassicActorSystemProvider): TypedActorExtension = super.get(system)
|
||||||
|
|
||||||
def lookup() = this
|
def lookup() = this
|
||||||
def createExtension(system: ExtendedActorSystem): TypedActorExtension = new TypedActorExtension(system)
|
def createExtension(system: ExtendedActorSystem): TypedActorExtension = new TypedActorExtension(system)
|
||||||
|
|
|
||||||
|
|
@ -5,10 +5,12 @@
|
||||||
package akka.event
|
package akka.event
|
||||||
|
|
||||||
import java.util.concurrent.atomic.AtomicReference
|
import java.util.concurrent.atomic.AtomicReference
|
||||||
|
|
||||||
import scala.annotation.tailrec
|
import scala.annotation.tailrec
|
||||||
import akka.actor.ActorRef
|
import akka.actor.ActorRef
|
||||||
import akka.actor.ActorSystem
|
import akka.actor.ActorSystem
|
||||||
import akka.actor.AddressTerminated
|
import akka.actor.AddressTerminated
|
||||||
|
import akka.actor.ClassicActorSystemProvider
|
||||||
import akka.actor.ExtendedActorSystem
|
import akka.actor.ExtendedActorSystem
|
||||||
import akka.actor.Extension
|
import akka.actor.Extension
|
||||||
import akka.actor.ExtensionId
|
import akka.actor.ExtensionId
|
||||||
|
|
@ -24,6 +26,7 @@ import akka.actor.ExtensionIdProvider
|
||||||
*/
|
*/
|
||||||
private[akka] object AddressTerminatedTopic extends ExtensionId[AddressTerminatedTopic] with ExtensionIdProvider {
|
private[akka] object AddressTerminatedTopic extends ExtensionId[AddressTerminatedTopic] with ExtensionIdProvider {
|
||||||
override def get(system: ActorSystem): AddressTerminatedTopic = super.get(system)
|
override def get(system: ActorSystem): AddressTerminatedTopic = super.get(system)
|
||||||
|
override def get(system: ClassicActorSystemProvider): AddressTerminatedTopic = super.get(system)
|
||||||
|
|
||||||
override def lookup = AddressTerminatedTopic
|
override def lookup = AddressTerminatedTopic
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -145,6 +145,7 @@ object Dns extends ExtensionId[DnsExt] with ExtensionIdProvider {
|
||||||
* Java API: retrieve the Udp extension for the given system.
|
* Java API: retrieve the Udp extension for the given system.
|
||||||
*/
|
*/
|
||||||
override def get(system: ActorSystem): DnsExt = super.get(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)
|
class DnsExt private[akka] (val system: ExtendedActorSystem, resolverName: String, managerName: String)
|
||||||
|
|
|
||||||
|
|
@ -48,6 +48,8 @@ object Tcp extends ExtensionId[TcpExt] with ExtensionIdProvider {
|
||||||
*/
|
*/
|
||||||
override def get(system: ActorSystem): TcpExt = super.get(system)
|
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.
|
* Scala API: this object contains all applicable socket options for TCP.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,7 @@ object Udp extends ExtensionId[UdpExt] with ExtensionIdProvider {
|
||||||
* Java API: retrieve the Udp extension for the given system.
|
* Java API: retrieve the Udp extension for the given system.
|
||||||
*/
|
*/
|
||||||
override def get(system: ActorSystem): UdpExt = super.get(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]].
|
* The common interface for [[Command]] and [[Event]].
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,7 @@ object UdpConnected extends ExtensionId[UdpConnectedExt] with ExtensionIdProvide
|
||||||
* Java API: retrieve the UdpConnected extension for the given system.
|
* Java API: retrieve the UdpConnected extension for the given system.
|
||||||
*/
|
*/
|
||||||
override def get(system: ActorSystem): UdpConnectedExt = super.get(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]].
|
* The common interface for [[Command]] and [[Event]].
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@
|
||||||
|
|
||||||
package akka.serialization
|
package akka.serialization
|
||||||
|
|
||||||
|
import akka.actor.ClassicActorSystemProvider
|
||||||
import akka.actor.{ ActorSystem, ExtendedActorSystem, ExtensionId, ExtensionIdProvider }
|
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 {
|
object SerializationExtension extends ExtensionId[Serialization] with ExtensionIdProvider {
|
||||||
override def get(system: ActorSystem): Serialization = super.get(system)
|
override def get(system: ActorSystem): Serialization = super.get(system)
|
||||||
|
override def get(system: ClassicActorSystemProvider): Serialization = super.get(system)
|
||||||
override def lookup = SerializationExtension
|
override def lookup = SerializationExtension
|
||||||
override def createExtension(system: ExtendedActorSystem): Serialization = new Serialization(system)
|
override def createExtension(system: ExtendedActorSystem): Serialization = new Serialization(system)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ import java.util.jar.Attributes
|
||||||
import java.util.jar.Manifest
|
import java.util.jar.Manifest
|
||||||
|
|
||||||
import akka.actor.ActorSystem
|
import akka.actor.ActorSystem
|
||||||
|
import akka.actor.ClassicActorSystemProvider
|
||||||
import akka.actor.ExtendedActorSystem
|
import akka.actor.ExtendedActorSystem
|
||||||
import akka.actor.Extension
|
import akka.actor.Extension
|
||||||
import akka.actor.ExtensionId
|
import akka.actor.ExtensionId
|
||||||
|
|
@ -40,6 +41,7 @@ object ManifestInfo extends ExtensionId[ManifestInfo] with ExtensionIdProvider {
|
||||||
"com.typesafe.play")
|
"com.typesafe.play")
|
||||||
|
|
||||||
override def get(system: ActorSystem): ManifestInfo = super.get(system)
|
override def get(system: ActorSystem): ManifestInfo = super.get(system)
|
||||||
|
override def get(system: ClassicActorSystemProvider): ManifestInfo = super.get(system)
|
||||||
|
|
||||||
override def lookup(): ManifestInfo.type = ManifestInfo
|
override def lookup(): ManifestInfo.type = ManifestInfo
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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")
|
||||||
|
|
||||||
|
|
@ -10,6 +10,7 @@ import akka.actor.SupervisorStrategy
|
||||||
import akka.event.LoggingAdapter
|
import akka.event.LoggingAdapter
|
||||||
import akka.event.Logging
|
import akka.event.Logging
|
||||||
import com.typesafe.config.Config
|
import com.typesafe.config.Config
|
||||||
|
|
||||||
import scala.collection.immutable
|
import scala.collection.immutable
|
||||||
import akka.actor.Props
|
import akka.actor.Props
|
||||||
import akka.actor.Deploy
|
import akka.actor.Deploy
|
||||||
|
|
@ -17,6 +18,7 @@ import akka.actor.ExtensionId
|
||||||
import akka.actor.ExtensionIdProvider
|
import akka.actor.ExtensionIdProvider
|
||||||
import akka.actor.ActorSystem
|
import akka.actor.ActorSystem
|
||||||
import akka.actor.ActorRef
|
import akka.actor.ActorRef
|
||||||
|
import akka.actor.ClassicActorSystemProvider
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cluster metrics extension.
|
* Cluster metrics extension.
|
||||||
|
|
@ -87,6 +89,7 @@ class ClusterMetricsExtension(system: ExtendedActorSystem) extends Extension {
|
||||||
object ClusterMetricsExtension extends ExtensionId[ClusterMetricsExtension] with ExtensionIdProvider {
|
object ClusterMetricsExtension extends ExtensionId[ClusterMetricsExtension] with ExtensionIdProvider {
|
||||||
override def lookup = ClusterMetricsExtension
|
override def lookup = ClusterMetricsExtension
|
||||||
override def get(system: ActorSystem): ClusterMetricsExtension = super.get(system)
|
override def get(system: ActorSystem): ClusterMetricsExtension = super.get(system)
|
||||||
|
override def get(system: ClassicActorSystemProvider): ClusterMetricsExtension = super.get(system)
|
||||||
override def createExtension(system: ExtendedActorSystem): ClusterMetricsExtension =
|
override def createExtension(system: ExtendedActorSystem): ClusterMetricsExtension =
|
||||||
new ClusterMetricsExtension(system)
|
new ClusterMetricsExtension(system)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,6 @@ import akka.actor.testkit.typed.scaladsl.ActorTestKit
|
||||||
import akka.actor.testkit.typed.scaladsl.LogCapturing
|
import akka.actor.testkit.typed.scaladsl.LogCapturing
|
||||||
import akka.actor.testkit.typed.scaladsl.ScalaTestWithActorTestKit
|
import akka.actor.testkit.typed.scaladsl.ScalaTestWithActorTestKit
|
||||||
import akka.actor.typed.ActorSystem
|
import akka.actor.typed.ActorSystem
|
||||||
import akka.actor.typed.scaladsl.adapter._
|
|
||||||
import akka.cluster.{ Cluster => ClassicCluster }
|
import akka.cluster.{ Cluster => ClassicCluster }
|
||||||
import akka.testkit.LongRunningTest
|
import akka.testkit.LongRunningTest
|
||||||
import com.typesafe.config.{ Config, ConfigFactory }
|
import com.typesafe.config.{ Config, ConfigFactory }
|
||||||
|
|
@ -50,14 +49,14 @@ abstract class JoinConfigCompatCheckerClusterShardingSpec
|
||||||
protected def join(sys: ActorSystem[_]): ClassicCluster = {
|
protected def join(sys: ActorSystem[_]): ClassicCluster = {
|
||||||
if (sys eq system) {
|
if (sys eq system) {
|
||||||
configured(system) should ===(JoinConfig.Shards)
|
configured(system) should ===(JoinConfig.Shards)
|
||||||
val seedNode = ClassicCluster(system.toClassic)
|
val seedNode = ClassicCluster(system)
|
||||||
seedNode.join(seedNode.selfAddress)
|
seedNode.join(seedNode.selfAddress)
|
||||||
val probe = createTestProbe()
|
val probe = createTestProbe()
|
||||||
probe.awaitAssert(seedNode.readView.isSingletonCluster should ===(true), clusterWaitDuration)
|
probe.awaitAssert(seedNode.readView.isSingletonCluster should ===(true), clusterWaitDuration)
|
||||||
seedNode
|
seedNode
|
||||||
} else {
|
} else {
|
||||||
val joiningNode = ClassicCluster(sys.toClassic)
|
val joiningNode = ClassicCluster(sys)
|
||||||
joiningNode.joinSeedNodes(im.Seq(ClassicCluster(system.toClassic).selfAddress))
|
joiningNode.joinSeedNodes(im.Seq(ClassicCluster(system).selfAddress))
|
||||||
joiningNode
|
joiningNode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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")
|
||||||
|
|
||||||
|
|
@ -11,11 +11,11 @@ import java.util.concurrent.ConcurrentHashMap
|
||||||
import scala.collection.immutable
|
import scala.collection.immutable
|
||||||
import scala.concurrent.Await
|
import scala.concurrent.Await
|
||||||
import scala.util.control.NonFatal
|
import scala.util.control.NonFatal
|
||||||
|
|
||||||
import akka.util.ccompat.JavaConverters._
|
import akka.util.ccompat.JavaConverters._
|
||||||
import akka.actor.Actor
|
import akka.actor.Actor
|
||||||
import akka.actor.ActorRef
|
import akka.actor.ActorRef
|
||||||
import akka.actor.ActorSystem
|
import akka.actor.ActorSystem
|
||||||
|
import akka.actor.ClassicActorSystemProvider
|
||||||
import akka.actor.Deploy
|
import akka.actor.Deploy
|
||||||
import akka.actor.ExtendedActorSystem
|
import akka.actor.ExtendedActorSystem
|
||||||
import akka.actor.Extension
|
import akka.actor.Extension
|
||||||
|
|
@ -153,6 +153,7 @@ import akka.util.ByteString
|
||||||
object ClusterSharding extends ExtensionId[ClusterSharding] with ExtensionIdProvider {
|
object ClusterSharding extends ExtensionId[ClusterSharding] with ExtensionIdProvider {
|
||||||
|
|
||||||
override def get(system: ActorSystem): ClusterSharding = super.get(system)
|
override def get(system: ActorSystem): ClusterSharding = super.get(system)
|
||||||
|
override def get(system: ClassicActorSystemProvider): ClusterSharding = super.get(system)
|
||||||
|
|
||||||
override def lookup = ClusterSharding
|
override def lookup = ClusterSharding
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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")
|
||||||
|
|
||||||
|
|
@ -8,7 +8,6 @@ import java.net.URLEncoder
|
||||||
|
|
||||||
import scala.collection.immutable
|
import scala.collection.immutable
|
||||||
import scala.concurrent.duration._
|
import scala.concurrent.duration._
|
||||||
|
|
||||||
import akka.actor.Actor
|
import akka.actor.Actor
|
||||||
import akka.actor.ActorIdentity
|
import akka.actor.ActorIdentity
|
||||||
import akka.actor.ActorLogging
|
import akka.actor.ActorLogging
|
||||||
|
|
@ -17,6 +16,7 @@ import akka.actor.ActorRef
|
||||||
import akka.actor.ActorSystem
|
import akka.actor.ActorSystem
|
||||||
import akka.actor.Address
|
import akka.actor.Address
|
||||||
import akka.actor.Cancellable
|
import akka.actor.Cancellable
|
||||||
|
import akka.actor.ClassicActorSystemProvider
|
||||||
import akka.actor.DeadLetterSuppression
|
import akka.actor.DeadLetterSuppression
|
||||||
import akka.actor.Deploy
|
import akka.actor.Deploy
|
||||||
import akka.actor.ExtendedActorSystem
|
import akka.actor.ExtendedActorSystem
|
||||||
|
|
@ -40,6 +40,7 @@ import com.typesafe.config.Config
|
||||||
import akka.remote.DeadlineFailureDetector
|
import akka.remote.DeadlineFailureDetector
|
||||||
import akka.util.MessageBuffer
|
import akka.util.MessageBuffer
|
||||||
import akka.util.ccompat._
|
import akka.util.ccompat._
|
||||||
|
|
||||||
import scala.collection.immutable.{ HashMap, HashSet }
|
import scala.collection.immutable.{ HashMap, HashSet }
|
||||||
|
|
||||||
@ccompatUsedUntil213
|
@ccompatUsedUntil213
|
||||||
|
|
@ -557,6 +558,7 @@ final class ClusterClient(settings: ClusterClientSettings) extends Actor with Ac
|
||||||
since = "2.6.0")
|
since = "2.6.0")
|
||||||
object ClusterClientReceptionist extends ExtensionId[ClusterClientReceptionist] with ExtensionIdProvider {
|
object ClusterClientReceptionist extends ExtensionId[ClusterClientReceptionist] with ExtensionIdProvider {
|
||||||
override def get(system: ActorSystem): ClusterClientReceptionist = super.get(system)
|
override def get(system: ActorSystem): ClusterClientReceptionist = super.get(system)
|
||||||
|
override def get(system: ClassicActorSystemProvider): ClusterClientReceptionist = super.get(system)
|
||||||
|
|
||||||
override def lookup() = ClusterClientReceptionist
|
override def lookup() = ClusterClientReceptionist
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -920,6 +920,8 @@ class DistributedPubSubMediator(settings: DistributedPubSubSettings)
|
||||||
object DistributedPubSub extends ExtensionId[DistributedPubSub] with ExtensionIdProvider {
|
object DistributedPubSub extends ExtensionId[DistributedPubSub] with ExtensionIdProvider {
|
||||||
override def get(system: ActorSystem): DistributedPubSub = super.get(system)
|
override def get(system: ActorSystem): DistributedPubSub = super.get(system)
|
||||||
|
|
||||||
|
override def get(system: ClassicActorSystemProvider): DistributedPubSub = super.get(system)
|
||||||
|
|
||||||
override def lookup = DistributedPubSub
|
override def lookup = DistributedPubSub
|
||||||
|
|
||||||
override def createExtension(system: ExtendedActorSystem): DistributedPubSub =
|
override def createExtension(system: ExtendedActorSystem): DistributedPubSub =
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@ import java.util.concurrent.atomic.AtomicReference
|
||||||
|
|
||||||
import scala.concurrent.Future
|
import scala.concurrent.Future
|
||||||
import scala.concurrent.duration._
|
import scala.concurrent.duration._
|
||||||
|
|
||||||
import akka.actor.Actor
|
import akka.actor.Actor
|
||||||
import akka.actor.ActorLogging
|
import akka.actor.ActorLogging
|
||||||
import akka.actor.ActorRef
|
import akka.actor.ActorRef
|
||||||
import akka.actor.ActorSystem
|
import akka.actor.ActorSystem
|
||||||
|
import akka.actor.ClassicActorSystemProvider
|
||||||
import akka.actor.ExtendedActorSystem
|
import akka.actor.ExtendedActorSystem
|
||||||
import akka.actor.Extension
|
import akka.actor.Extension
|
||||||
import akka.actor.ExtensionId
|
import akka.actor.ExtensionId
|
||||||
|
|
@ -73,6 +73,7 @@ class TestLeaseActor extends Actor with ActorLogging {
|
||||||
|
|
||||||
object TestLeaseActorClientExt extends ExtensionId[TestLeaseActorClientExt] with ExtensionIdProvider {
|
object TestLeaseActorClientExt extends ExtensionId[TestLeaseActorClientExt] with ExtensionIdProvider {
|
||||||
override def get(system: ActorSystem): TestLeaseActorClientExt = super.get(system)
|
override def get(system: ActorSystem): TestLeaseActorClientExt = super.get(system)
|
||||||
|
override def get(system: ClassicActorSystemProvider): TestLeaseActorClientExt = super.get(system)
|
||||||
override def lookup = TestLeaseActorClientExt
|
override def lookup = TestLeaseActorClientExt
|
||||||
override def createExtension(system: ExtendedActorSystem): TestLeaseActorClientExt =
|
override def createExtension(system: ExtendedActorSystem): TestLeaseActorClientExt =
|
||||||
new TestLeaseActorClientExt(system)
|
new TestLeaseActorClientExt(system)
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ package akka.cluster
|
||||||
import java.util.concurrent.ConcurrentHashMap
|
import java.util.concurrent.ConcurrentHashMap
|
||||||
import java.util.concurrent.atomic.AtomicReference
|
import java.util.concurrent.atomic.AtomicReference
|
||||||
|
|
||||||
|
import akka.actor.ClassicActorSystemProvider
|
||||||
import akka.actor.{ ActorSystem, ExtendedActorSystem, Extension, ExtensionId, ExtensionIdProvider }
|
import akka.actor.{ ActorSystem, ExtendedActorSystem, Extension, ExtensionId, ExtensionIdProvider }
|
||||||
import akka.coordination.lease.LeaseSettings
|
import akka.coordination.lease.LeaseSettings
|
||||||
import akka.coordination.lease.scaladsl.Lease
|
import akka.coordination.lease.scaladsl.Lease
|
||||||
|
|
@ -19,6 +20,7 @@ import akka.util.ccompat.JavaConverters._
|
||||||
|
|
||||||
object TestLeaseExt extends ExtensionId[TestLeaseExt] with ExtensionIdProvider {
|
object TestLeaseExt extends ExtensionId[TestLeaseExt] with ExtensionIdProvider {
|
||||||
override def get(system: ActorSystem): TestLeaseExt = super.get(system)
|
override def get(system: ActorSystem): TestLeaseExt = super.get(system)
|
||||||
|
override def get(system: ClassicActorSystemProvider): TestLeaseExt = super.get(system)
|
||||||
override def lookup = TestLeaseExt
|
override def lookup = TestLeaseExt
|
||||||
override def createExtension(system: ExtendedActorSystem): TestLeaseExt = new TestLeaseExt(system)
|
override def createExtension(system: ExtendedActorSystem): TestLeaseExt = new TestLeaseExt(system)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -203,7 +203,6 @@ abstract class ClusterSingleton extends Extension {
|
||||||
}
|
}
|
||||||
|
|
||||||
object ClusterSingletonManagerSettings {
|
object ClusterSingletonManagerSettings {
|
||||||
import akka.actor.typed.scaladsl.adapter._
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create settings from the default configuration
|
* Create settings from the default configuration
|
||||||
|
|
@ -211,7 +210,7 @@ object ClusterSingletonManagerSettings {
|
||||||
*/
|
*/
|
||||||
def apply(system: ActorSystem[_]): ClusterSingletonManagerSettings =
|
def apply(system: ActorSystem[_]): ClusterSingletonManagerSettings =
|
||||||
apply(system.settings.config.getConfig("akka.cluster.singleton"))
|
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
|
* Create settings from a configuration with the same layout as
|
||||||
|
|
|
||||||
|
|
@ -142,7 +142,7 @@ private[akka] final class AdapterClusterImpl(system: ActorSystem[_]) extends Clu
|
||||||
import AdapterClusterImpl._
|
import AdapterClusterImpl._
|
||||||
|
|
||||||
require(system.isInstanceOf[ActorSystemAdapter[_]], "only adapted actor systems can be used for cluster features")
|
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 selfMember: Member = classicCluster.selfMember
|
||||||
override def isTerminated: Boolean = classicCluster.isTerminated
|
override def isTerminated: Boolean = classicCluster.isTerminated
|
||||||
|
|
|
||||||
|
|
@ -72,7 +72,7 @@ class ActorSystemSpec
|
||||||
akka.remote.classic.netty.tcp.port = 0
|
akka.remote.classic.netty.tcp.port = 0
|
||||||
akka.remote.artery.canonical.port = 0
|
akka.remote.artery.canonical.port = 0
|
||||||
akka.remote.artery.canonical.hostname = 127.0.0.1
|
akka.remote.artery.canonical.hostname = 127.0.0.1
|
||||||
|
|
||||||
serializers {
|
serializers {
|
||||||
test = "akka.cluster.typed.ActorSystemSpec$$TestSerializer"
|
test = "akka.cluster.typed.ActorSystemSpec$$TestSerializer"
|
||||||
}
|
}
|
||||||
|
|
@ -114,8 +114,7 @@ class ActorSystemSpec
|
||||||
}
|
}
|
||||||
inbox.receiveAll() should ===("hello" :: Nil)
|
inbox.receiveAll() should ===("hello" :: Nil)
|
||||||
sys.whenTerminated.futureValue
|
sys.whenTerminated.futureValue
|
||||||
CoordinatedShutdown(sys.toClassic).shutdownReason() should ===(
|
CoordinatedShutdown(sys).shutdownReason() should ===(Some(CoordinatedShutdown.ActorSystemTerminateReason))
|
||||||
Some(CoordinatedShutdown.ActorSystemTerminateReason))
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -150,8 +149,7 @@ class ActorSystemSpec
|
||||||
// now we know that the guardian has started, and should receive PostStop
|
// now we know that the guardian has started, and should receive PostStop
|
||||||
sys.terminate()
|
sys.terminate()
|
||||||
sys.whenTerminated.futureValue
|
sys.whenTerminated.futureValue
|
||||||
CoordinatedShutdown(sys.toClassic).shutdownReason() should ===(
|
CoordinatedShutdown(sys).shutdownReason() should ===(Some(CoordinatedShutdown.ActorSystemTerminateReason))
|
||||||
Some(CoordinatedShutdown.ActorSystemTerminateReason))
|
|
||||||
inbox.receiveAll() should ===("done" :: Nil)
|
inbox.receiveAll() should ===("done" :: Nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,6 @@ import akka.actor.typed.ActorRef
|
||||||
import akka.actor.typed.receptionist.Receptionist
|
import akka.actor.typed.receptionist.Receptionist
|
||||||
import akka.actor.typed.receptionist.ServiceKey
|
import akka.actor.typed.receptionist.ServiceKey
|
||||||
import akka.actor.typed.scaladsl.Behaviors
|
import akka.actor.typed.scaladsl.Behaviors
|
||||||
import akka.actor.typed.scaladsl.adapter._
|
|
||||||
import akka.cluster.MemberStatus
|
import akka.cluster.MemberStatus
|
||||||
import akka.cluster.typed.Cluster
|
import akka.cluster.typed.Cluster
|
||||||
import akka.cluster.typed.Down
|
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)
|
regProbe2.expectMessageType[Listing].serviceInstances(PingKey).size should ===(2)
|
||||||
|
|
||||||
akka.cluster.Cluster(system1.toClassic).shutdown()
|
akka.cluster.Cluster(system1).shutdown()
|
||||||
|
|
||||||
regProbe2.expectNoMessage(3.seconds)
|
regProbe2.expectNoMessage(3.seconds)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -87,8 +87,7 @@ object Publisher {
|
||||||
Behaviors.setup[AnyRef] { context =>
|
Behaviors.setup[AnyRef] { context =>
|
||||||
import akka.cluster.pubsub.DistributedPubSub
|
import akka.cluster.pubsub.DistributedPubSub
|
||||||
import akka.cluster.pubsub.DistributedPubSubMediator
|
import akka.cluster.pubsub.DistributedPubSubMediator
|
||||||
import akka.actor.typed.scaladsl.adapter._
|
val mediator = DistributedPubSub(context.system).mediator
|
||||||
val mediator = DistributedPubSub(context.system.toClassic).mediator
|
|
||||||
|
|
||||||
var registry: Map[DataKey, DataType] = Map.empty
|
var registry: Map[DataKey, DataType] = Map.empty
|
||||||
|
|
||||||
|
|
@ -263,8 +262,7 @@ object DataPlatform {
|
||||||
def apply(): Behavior[ProvisionCommand] = {
|
def apply(): Behavior[ProvisionCommand] = {
|
||||||
Behaviors.setup { context =>
|
Behaviors.setup { context =>
|
||||||
//#mediator
|
//#mediator
|
||||||
import akka.actor.typed.scaladsl.adapter._
|
val mediator = DistributedPubSub(context.system).mediator
|
||||||
val mediator = DistributedPubSub(context.system.toClassic).mediator
|
|
||||||
//#mediator
|
//#mediator
|
||||||
val service = context.spawn(DataService(mediator), "data")
|
val service = context.spawn(DataService(mediator), "data")
|
||||||
|
|
||||||
|
|
@ -337,7 +335,7 @@ object DistributedPubSubExample {
|
||||||
|
|
||||||
// provision new data type
|
// provision new data type
|
||||||
val platformProbe = TestProbe[DataApi]()(system)
|
val platformProbe = TestProbe[DataApi]()(system)
|
||||||
val mediator = DistributedPubSub(system.toClassic).mediator
|
val mediator = DistributedPubSub(system).mediator
|
||||||
mediator ! DistributedPubSubMediator.Subscribe(IngestionTopic, platformProbe.ref.toClassic)
|
mediator ! DistributedPubSubMediator.Subscribe(IngestionTopic, platformProbe.ref.toClassic)
|
||||||
|
|
||||||
system ! ProvisionDataType(key, "dummy-schema", platformProbe.ref)
|
system ! ProvisionDataType(key, "dummy-schema", platformProbe.ref)
|
||||||
|
|
|
||||||
|
|
@ -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")
|
||||||
|
|
||||||
|
|
@ -35,6 +35,8 @@ import com.github.ghik.silencer.silent
|
||||||
object Cluster extends ExtensionId[Cluster] with ExtensionIdProvider {
|
object Cluster extends ExtensionId[Cluster] with ExtensionIdProvider {
|
||||||
override def get(system: ActorSystem): Cluster = super.get(system)
|
override def get(system: ActorSystem): Cluster = super.get(system)
|
||||||
|
|
||||||
|
override def get(system: ClassicActorSystemProvider): Cluster = super.get(system)
|
||||||
|
|
||||||
override def lookup = Cluster
|
override def lookup = Cluster
|
||||||
|
|
||||||
override def createExtension(system: ExtendedActorSystem): Cluster = new Cluster(system)
|
override def createExtension(system: ExtendedActorSystem): Cluster = new Cluster(system)
|
||||||
|
|
|
||||||
|
|
@ -4,12 +4,14 @@
|
||||||
|
|
||||||
package akka.coordination.lease.javadsl
|
package akka.coordination.lease.javadsl
|
||||||
|
|
||||||
|
import akka.actor.ClassicActorSystemProvider
|
||||||
import akka.actor.{ ActorSystem, ExtendedActorSystem, Extension, ExtensionId, ExtensionIdProvider }
|
import akka.actor.{ ActorSystem, ExtendedActorSystem, Extension, ExtensionId, ExtensionIdProvider }
|
||||||
import akka.coordination.lease.internal.LeaseAdapter
|
import akka.coordination.lease.internal.LeaseAdapter
|
||||||
import akka.coordination.lease.scaladsl.{ LeaseProvider => ScalaLeaseProvider }
|
import akka.coordination.lease.scaladsl.{ LeaseProvider => ScalaLeaseProvider }
|
||||||
|
|
||||||
object LeaseProvider extends ExtensionId[LeaseProvider] with ExtensionIdProvider {
|
object LeaseProvider extends ExtensionId[LeaseProvider] with ExtensionIdProvider {
|
||||||
override def get(system: ActorSystem): LeaseProvider = super.get(system)
|
override def get(system: ActorSystem): LeaseProvider = super.get(system)
|
||||||
|
override def get(system: ClassicActorSystemProvider): LeaseProvider = super.get(system)
|
||||||
|
|
||||||
override def lookup = LeaseProvider
|
override def lookup = LeaseProvider
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ import java.util.function.{ Function => JFunction }
|
||||||
import scala.collection.immutable
|
import scala.collection.immutable
|
||||||
import scala.util.{ Failure, Success, Try }
|
import scala.util.{ Failure, Success, Try }
|
||||||
import akka.actor.ActorSystem
|
import akka.actor.ActorSystem
|
||||||
|
import akka.actor.ClassicActorSystemProvider
|
||||||
import akka.actor.ExtendedActorSystem
|
import akka.actor.ExtendedActorSystem
|
||||||
import akka.actor.Extension
|
import akka.actor.Extension
|
||||||
import akka.actor.ExtensionId
|
import akka.actor.ExtensionId
|
||||||
|
|
@ -19,6 +20,7 @@ import akka.coordination.lease.LeaseSettings
|
||||||
|
|
||||||
object LeaseProvider extends ExtensionId[LeaseProvider] with ExtensionIdProvider {
|
object LeaseProvider extends ExtensionId[LeaseProvider] with ExtensionIdProvider {
|
||||||
override def get(system: ActorSystem): LeaseProvider = super.get(system)
|
override def get(system: ActorSystem): LeaseProvider = super.get(system)
|
||||||
|
override def get(system: ClassicActorSystemProvider): LeaseProvider = super.get(system)
|
||||||
|
|
||||||
override def lookup = LeaseProvider
|
override def lookup = LeaseProvider
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -103,6 +103,8 @@ object Discovery extends ExtensionId[Discovery] with ExtensionIdProvider {
|
||||||
|
|
||||||
override def get(system: ActorSystem): Discovery = super.get(system)
|
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)
|
override def createExtension(system: ExtendedActorSystem): Discovery = new Discovery()(system)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -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")
|
||||||
|
|
||||||
|
|
@ -6,6 +6,7 @@ package akka.cluster.ddata
|
||||||
|
|
||||||
import akka.actor.ActorRef
|
import akka.actor.ActorRef
|
||||||
import akka.actor.ActorSystem
|
import akka.actor.ActorSystem
|
||||||
|
import akka.actor.ClassicActorSystemProvider
|
||||||
import akka.actor.ExtendedActorSystem
|
import akka.actor.ExtendedActorSystem
|
||||||
import akka.actor.Extension
|
import akka.actor.Extension
|
||||||
import akka.actor.ExtensionId
|
import akka.actor.ExtensionId
|
||||||
|
|
@ -15,6 +16,7 @@ import akka.event.Logging
|
||||||
|
|
||||||
object DistributedData extends ExtensionId[DistributedData] with ExtensionIdProvider {
|
object DistributedData extends ExtensionId[DistributedData] with ExtensionIdProvider {
|
||||||
override def get(system: ActorSystem): DistributedData = super.get(system)
|
override def get(system: ActorSystem): DistributedData = super.get(system)
|
||||||
|
override def get(system: ClassicActorSystemProvider): DistributedData = super.get(system)
|
||||||
|
|
||||||
override def lookup = DistributedData
|
override def lookup = DistributedData
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,6 @@ import akka.actor.typed.ActorSystem;
|
||||||
import akka.actor.typed.Behavior;
|
import akka.actor.typed.Behavior;
|
||||||
import akka.actor.typed.javadsl.AbstractBehavior;
|
import akka.actor.typed.javadsl.AbstractBehavior;
|
||||||
import akka.actor.typed.javadsl.ActorContext;
|
import akka.actor.typed.javadsl.ActorContext;
|
||||||
import akka.actor.typed.javadsl.Adapter;
|
|
||||||
import akka.actor.typed.javadsl.Behaviors;
|
import akka.actor.typed.javadsl.Behaviors;
|
||||||
import akka.actor.typed.javadsl.Receive;
|
import akka.actor.typed.javadsl.Receive;
|
||||||
import akka.actor.typed.javadsl.AskPattern;
|
import akka.actor.typed.javadsl.AskPattern;
|
||||||
|
|
@ -31,7 +30,7 @@ public interface ResumableProjectionExample {
|
||||||
throws Exception {
|
throws Exception {
|
||||||
|
|
||||||
final MyJavadslReadJournal readJournal =
|
final MyJavadslReadJournal readJournal =
|
||||||
PersistenceQuery.get(Adapter.toClassic(system))
|
PersistenceQuery.get(system)
|
||||||
.getReadJournalFor(
|
.getReadJournalFor(
|
||||||
MyJavadslReadJournal.class, "akka.persistence.query.my-read-journal");
|
MyJavadslReadJournal.class, "akka.persistence.query.my-read-journal");
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,9 @@
|
||||||
package docs.extension
|
package docs.extension
|
||||||
|
|
||||||
import java.util.concurrent.atomic.AtomicLong
|
import java.util.concurrent.atomic.AtomicLong
|
||||||
|
|
||||||
import akka.actor.Actor
|
import akka.actor.Actor
|
||||||
|
import akka.actor.ClassicActorSystemProvider
|
||||||
import akka.testkit.AkkaSpec
|
import akka.testkit.AkkaSpec
|
||||||
|
|
||||||
//#extension
|
//#extension
|
||||||
|
|
@ -42,6 +44,7 @@ object CountExtension extends ExtensionId[CountExtensionImpl] with ExtensionIdPr
|
||||||
* Java API: retrieve the Count extension for the given system.
|
* Java API: retrieve the Count extension for the given system.
|
||||||
*/
|
*/
|
||||||
override def get(system: ActorSystem): CountExtensionImpl = super.get(system)
|
override def get(system: ActorSystem): CountExtensionImpl = super.get(system)
|
||||||
|
override def get(system: ClassicActorSystemProvider): CountExtensionImpl = super.get(system)
|
||||||
}
|
}
|
||||||
//#extensionid
|
//#extensionid
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,10 +10,13 @@ import akka.actor.Extension
|
||||||
import akka.actor.ExtensionId
|
import akka.actor.ExtensionId
|
||||||
import akka.actor.ExtensionIdProvider
|
import akka.actor.ExtensionIdProvider
|
||||||
import akka.actor.ExtendedActorSystem
|
import akka.actor.ExtendedActorSystem
|
||||||
|
|
||||||
import scala.concurrent.duration.Duration
|
import scala.concurrent.duration.Duration
|
||||||
import com.typesafe.config.Config
|
import com.typesafe.config.Config
|
||||||
import java.util.concurrent.TimeUnit
|
import java.util.concurrent.TimeUnit
|
||||||
|
|
||||||
|
import akka.actor.ClassicActorSystemProvider
|
||||||
|
|
||||||
//#imports
|
//#imports
|
||||||
|
|
||||||
import akka.actor.Actor
|
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.
|
* Java API: retrieve the Settings extension for the given system.
|
||||||
*/
|
*/
|
||||||
override def get(system: ActorSystem): SettingsImpl = super.get(system)
|
override def get(system: ActorSystem): SettingsImpl = super.get(system)
|
||||||
|
override def get(system: ClassicActorSystemProvider): SettingsImpl = super.get(system)
|
||||||
}
|
}
|
||||||
//#extensionid
|
//#extensionid
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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")
|
||||||
|
|
||||||
|
|
@ -4,6 +4,7 @@
|
||||||
|
|
||||||
package akka.remote.testconductor
|
package akka.remote.testconductor
|
||||||
|
|
||||||
|
import akka.actor.ClassicActorSystemProvider
|
||||||
import akka.actor.{ ActorContext, ActorSystem, ExtendedActorSystem, Extension, ExtensionId, ExtensionIdProvider }
|
import akka.actor.{ ActorContext, ActorSystem, ExtendedActorSystem, Extension, ExtensionId, ExtensionIdProvider }
|
||||||
import akka.remote.RemoteActorRefProvider
|
import akka.remote.RemoteActorRefProvider
|
||||||
import akka.util.Timeout
|
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.
|
* Java API: retrieve the TestConductor extension for the given system.
|
||||||
*/
|
*/
|
||||||
override def get(system: ActorSystem): TestConductorExt = super.get(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)
|
def apply()(implicit ctx: ActorContext): TestConductorExt = apply(ctx.system)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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")
|
||||||
|
|
||||||
|
|
@ -18,10 +18,8 @@ import scala.reflect.ClassTag
|
||||||
*/
|
*/
|
||||||
object PersistenceQuery extends ExtensionId[PersistenceQuery] with ExtensionIdProvider {
|
object PersistenceQuery extends ExtensionId[PersistenceQuery] with ExtensionIdProvider {
|
||||||
|
|
||||||
/**
|
|
||||||
* Java API.
|
|
||||||
*/
|
|
||||||
override def get(system: ActorSystem): PersistenceQuery = super.get(system)
|
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)
|
def createExtension(system: ExtendedActorSystem): PersistenceQuery = new PersistenceQuery(system)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -283,10 +283,9 @@ class EventSourcedBehaviorSpec
|
||||||
with LogCapturing {
|
with LogCapturing {
|
||||||
|
|
||||||
import EventSourcedBehaviorSpec._
|
import EventSourcedBehaviorSpec._
|
||||||
import akka.actor.typed.scaladsl.adapter._
|
|
||||||
|
|
||||||
val queries: LeveldbReadJournal =
|
val queries: LeveldbReadJournal =
|
||||||
PersistenceQuery(system.toClassic).readJournalFor[LeveldbReadJournal](LeveldbReadJournal.Identifier)
|
PersistenceQuery(system).readJournalFor[LeveldbReadJournal](LeveldbReadJournal.Identifier)
|
||||||
|
|
||||||
val pidCounter = new AtomicInteger(0)
|
val pidCounter = new AtomicInteger(0)
|
||||||
private def nextPid(): PersistenceId = PersistenceId.ofUniqueId(s"c${pidCounter.incrementAndGet()})")
|
private def nextPid(): PersistenceId = PersistenceId.ofUniqueId(s"c${pidCounter.incrementAndGet()})")
|
||||||
|
|
|
||||||
|
|
@ -96,13 +96,11 @@ class EventSourcedEventAdapterSpec
|
||||||
State
|
State
|
||||||
}
|
}
|
||||||
|
|
||||||
import akka.actor.typed.scaladsl.adapter._
|
|
||||||
|
|
||||||
val pidCounter = new AtomicInteger(0)
|
val pidCounter = new AtomicInteger(0)
|
||||||
private def nextPid(): PersistenceId = PersistenceId.ofUniqueId(s"c${pidCounter.incrementAndGet()})")
|
private def nextPid(): PersistenceId = PersistenceId.ofUniqueId(s"c${pidCounter.incrementAndGet()})")
|
||||||
|
|
||||||
val queries: LeveldbReadJournal =
|
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] =
|
private def behavior(pid: PersistenceId, probe: ActorRef[String]): EventSourcedBehavior[String, String, String] =
|
||||||
EventSourcedBehavior(pid, "", commandHandler = { (_, command) =>
|
EventSourcedBehavior(pid, "", commandHandler = { (_, command) =>
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,6 @@ import akka.actor.testkit.typed.scaladsl.ScalaTestWithActorTestKit
|
||||||
import akka.actor.typed.ActorRef
|
import akka.actor.typed.ActorRef
|
||||||
import akka.actor.typed.Behavior
|
import akka.actor.typed.Behavior
|
||||||
import akka.actor.typed.scaladsl.Behaviors
|
import akka.actor.typed.scaladsl.Behaviors
|
||||||
import akka.actor.typed.scaladsl.adapter._
|
|
||||||
import akka.persistence.serialization.Snapshot
|
import akka.persistence.serialization.Snapshot
|
||||||
import akka.persistence.typed.PersistenceId
|
import akka.persistence.typed.PersistenceId
|
||||||
import akka.serialization.Serialization
|
import akka.serialization.Serialization
|
||||||
|
|
@ -64,7 +63,7 @@ class SnapshotRecoveryWithEmptyJournalSpec
|
||||||
|
|
||||||
val snapshotsDir: File = new File(survivingSnapshotPath)
|
val snapshotsDir: File = new File(survivingSnapshotPath)
|
||||||
|
|
||||||
val serializationExtension: Serialization = SerializationExtension(system.toClassic)
|
val serializationExtension: Serialization = SerializationExtension(system)
|
||||||
|
|
||||||
val persistenceId: String = system.name
|
val persistenceId: String = system.name
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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")
|
||||||
|
|
||||||
|
|
@ -158,6 +158,8 @@ object Persistence extends ExtensionId[Persistence] with ExtensionIdProvider {
|
||||||
/** Java API. */
|
/** Java API. */
|
||||||
override def get(system: ActorSystem): Persistence = super.get(system)
|
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 createExtension(system: ExtendedActorSystem): Persistence = new Persistence(system)
|
||||||
|
|
||||||
def lookup() = Persistence
|
def lookup() = Persistence
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,8 @@ import scala.reflect.ClassTag
|
||||||
private[akka] object SnapshotAfter extends ExtensionId[SnapshotAfter] with ExtensionIdProvider {
|
private[akka] object SnapshotAfter extends ExtensionId[SnapshotAfter] with ExtensionIdProvider {
|
||||||
override def get(system: ActorSystem): SnapshotAfter = super.get(system)
|
override def get(system: ActorSystem): SnapshotAfter = super.get(system)
|
||||||
|
|
||||||
|
override def get(system: ClassicActorSystemProvider): SnapshotAfter = super.get(system)
|
||||||
|
|
||||||
override def lookup = SnapshotAfter
|
override def lookup = SnapshotAfter
|
||||||
|
|
||||||
override def createExtension(system: ExtendedActorSystem): SnapshotAfter = new SnapshotAfter(system.settings.config)
|
override def createExtension(system: ExtendedActorSystem): SnapshotAfter = new SnapshotAfter(system.settings.config)
|
||||||
|
|
|
||||||
|
|
@ -68,6 +68,7 @@ object PersistencePluginProxyExtension
|
||||||
new PersistencePluginProxyExtensionImpl(system)
|
new PersistencePluginProxyExtensionImpl(system)
|
||||||
override def lookup(): ExtensionId[_ <: Extension] = PersistencePluginProxyExtension
|
override def lookup(): ExtensionId[_ <: Extension] = PersistencePluginProxyExtension
|
||||||
override def get(system: ActorSystem): PersistencePluginProxyExtensionImpl = super.get(system)
|
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 {
|
final class PersistencePluginProxy(config: Config) extends Actor with Stash with ActorLogging {
|
||||||
|
|
|
||||||
|
|
@ -82,6 +82,7 @@ object JournalPuppet extends ExtensionId[JournalProbe] with ExtensionIdProvider
|
||||||
new JournalProbe()(system)
|
new JournalProbe()(system)
|
||||||
|
|
||||||
override def get(system: ActorSystem): JournalProbe = super.get(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 {
|
class JournalProbe(implicit private val system: ExtendedActorSystem) extends Extension {
|
||||||
val probe = TestProbe()
|
val probe = TestProbe()
|
||||||
|
|
|
||||||
|
|
@ -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")
|
||||||
|
|
@ -5,7 +5,9 @@
|
||||||
package akka.remote
|
package akka.remote
|
||||||
|
|
||||||
import java.util.concurrent.ThreadLocalRandom
|
import java.util.concurrent.ThreadLocalRandom
|
||||||
|
|
||||||
import akka.actor.ActorSystem
|
import akka.actor.ActorSystem
|
||||||
|
import akka.actor.ClassicActorSystemProvider
|
||||||
import akka.actor.ExtendedActorSystem
|
import akka.actor.ExtendedActorSystem
|
||||||
import akka.actor.Extension
|
import akka.actor.Extension
|
||||||
import akka.actor.ExtensionId
|
import akka.actor.ExtensionId
|
||||||
|
|
@ -21,6 +23,7 @@ import akka.actor.ExtensionIdProvider
|
||||||
*/
|
*/
|
||||||
object AddressUidExtension extends ExtensionId[AddressUidExtension] with ExtensionIdProvider {
|
object AddressUidExtension extends ExtensionId[AddressUidExtension] with ExtensionIdProvider {
|
||||||
override def get(system: ActorSystem): AddressUidExtension = super.get(system)
|
override def get(system: ActorSystem): AddressUidExtension = super.get(system)
|
||||||
|
override def get(system: ClassicActorSystemProvider): AddressUidExtension = super.get(system)
|
||||||
|
|
||||||
override def lookup = AddressUidExtension
|
override def lookup = AddressUidExtension
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ package akka.remote
|
||||||
|
|
||||||
import akka.actor.ActorSystem
|
import akka.actor.ActorSystem
|
||||||
import akka.actor.Address
|
import akka.actor.Address
|
||||||
|
import akka.actor.ClassicActorSystemProvider
|
||||||
import akka.actor.ExtendedActorSystem
|
import akka.actor.ExtendedActorSystem
|
||||||
import akka.actor.Extension
|
import akka.actor.Extension
|
||||||
import akka.actor.ExtensionId
|
import akka.actor.ExtensionId
|
||||||
|
|
@ -17,6 +18,7 @@ import akka.remote.artery.ArteryTransport
|
||||||
*/
|
*/
|
||||||
object BoundAddressesExtension extends ExtensionId[BoundAddressesExtension] with ExtensionIdProvider {
|
object BoundAddressesExtension extends ExtensionId[BoundAddressesExtension] with ExtensionIdProvider {
|
||||||
override def get(system: ActorSystem): BoundAddressesExtension = super.get(system)
|
override def get(system: ActorSystem): BoundAddressesExtension = super.get(system)
|
||||||
|
override def get(system: ClassicActorSystemProvider): BoundAddressesExtension = super.get(system)
|
||||||
|
|
||||||
override def lookup = BoundAddressesExtension
|
override def lookup = BoundAddressesExtension
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,9 +7,9 @@ package akka.remote
|
||||||
import java.util.concurrent.ConcurrentHashMap
|
import java.util.concurrent.ConcurrentHashMap
|
||||||
|
|
||||||
import scala.annotation.tailrec
|
import scala.annotation.tailrec
|
||||||
|
|
||||||
import akka.actor.ActorSelectionMessage
|
import akka.actor.ActorSelectionMessage
|
||||||
import akka.actor.ActorSystem
|
import akka.actor.ActorSystem
|
||||||
|
import akka.actor.ClassicActorSystemProvider
|
||||||
import akka.actor.ExtendedActorSystem
|
import akka.actor.ExtendedActorSystem
|
||||||
import akka.actor.Extension
|
import akka.actor.Extension
|
||||||
import akka.actor.ExtensionId
|
import akka.actor.ExtensionId
|
||||||
|
|
@ -26,6 +26,7 @@ import com.github.ghik.silencer.silent
|
||||||
@silent("deprecated")
|
@silent("deprecated")
|
||||||
private[akka] object RemoteMetricsExtension extends ExtensionId[RemoteMetrics] with ExtensionIdProvider {
|
private[akka] object RemoteMetricsExtension extends ExtensionId[RemoteMetrics] with ExtensionIdProvider {
|
||||||
override def get(system: ActorSystem): RemoteMetrics = super.get(system)
|
override def get(system: ActorSystem): RemoteMetrics = super.get(system)
|
||||||
|
override def get(system: ClassicActorSystemProvider): RemoteMetrics = super.get(system)
|
||||||
|
|
||||||
override def lookup = RemoteMetricsExtension
|
override def lookup = RemoteMetricsExtension
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ package akka.remote.serialization
|
||||||
|
|
||||||
import akka.actor.ActorRef
|
import akka.actor.ActorRef
|
||||||
import akka.actor.ActorSystem
|
import akka.actor.ActorSystem
|
||||||
|
import akka.actor.ClassicActorSystemProvider
|
||||||
import akka.actor.EmptyLocalActorRef
|
import akka.actor.EmptyLocalActorRef
|
||||||
import akka.actor.ExtendedActorSystem
|
import akka.actor.ExtendedActorSystem
|
||||||
import akka.actor.Extension
|
import akka.actor.Extension
|
||||||
|
|
@ -23,6 +24,7 @@ private[akka] object ActorRefResolveThreadLocalCache
|
||||||
with ExtensionIdProvider {
|
with ExtensionIdProvider {
|
||||||
|
|
||||||
override def get(system: ActorSystem): ActorRefResolveThreadLocalCache = super.get(system)
|
override def get(system: ActorSystem): ActorRefResolveThreadLocalCache = super.get(system)
|
||||||
|
override def get(system: ClassicActorSystemProvider): ActorRefResolveThreadLocalCache = super.get(system)
|
||||||
|
|
||||||
override def lookup = ActorRefResolveThreadLocalCache
|
override def lookup = ActorRefResolveThreadLocalCache
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -49,6 +49,7 @@ class TransportAdapters(system: ExtendedActorSystem) extends Extension {
|
||||||
@deprecated("Classic remoting is deprecated, use Artery", "2.6.0")
|
@deprecated("Classic remoting is deprecated, use Artery", "2.6.0")
|
||||||
object TransportAdaptersExtension extends ExtensionId[TransportAdapters] with ExtensionIdProvider {
|
object TransportAdaptersExtension extends ExtensionId[TransportAdapters] with ExtensionIdProvider {
|
||||||
override def get(system: ActorSystem): TransportAdapters = super.get(system)
|
override def get(system: ActorSystem): TransportAdapters = super.get(system)
|
||||||
|
override def get(system: ClassicActorSystemProvider): TransportAdapters = super.get(system)
|
||||||
override def lookup = TransportAdaptersExtension
|
override def lookup = TransportAdaptersExtension
|
||||||
override def createExtension(system: ExtendedActorSystem): TransportAdapters =
|
override def createExtension(system: ExtendedActorSystem): TransportAdapters =
|
||||||
new TransportAdapters(system)
|
new TransportAdapters(system)
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@ import akka.testkit.JavaSerializable
|
||||||
|
|
||||||
object MetadataCarryingSpy extends ExtensionId[MetadataCarryingSpy] with ExtensionIdProvider {
|
object MetadataCarryingSpy extends ExtensionId[MetadataCarryingSpy] with ExtensionIdProvider {
|
||||||
override def get(system: ActorSystem): MetadataCarryingSpy = super.get(system)
|
override def get(system: ActorSystem): MetadataCarryingSpy = super.get(system)
|
||||||
|
override def get(system: ClassicActorSystemProvider): MetadataCarryingSpy = super.get(system)
|
||||||
override def lookup = MetadataCarryingSpy
|
override def lookup = MetadataCarryingSpy
|
||||||
override def createExtension(system: ExtendedActorSystem): MetadataCarryingSpy = new MetadataCarryingSpy
|
override def createExtension(system: ExtendedActorSystem): MetadataCarryingSpy = new MetadataCarryingSpy
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ import scala.compat.java8.OptionConverters._
|
||||||
import scala.util.Failure
|
import scala.util.Failure
|
||||||
import scala.util.Success
|
import scala.util.Success
|
||||||
import akka.actor.ActorSystem
|
import akka.actor.ActorSystem
|
||||||
|
import akka.actor.ClassicActorSystemProvider
|
||||||
import akka.actor.DynamicAccess
|
import akka.actor.DynamicAccess
|
||||||
import akka.actor.ExtendedActorSystem
|
import akka.actor.ExtendedActorSystem
|
||||||
import akka.actor.Extension
|
import akka.actor.Extension
|
||||||
|
|
@ -44,6 +45,7 @@ import com.fasterxml.jackson.databind.json.JsonMapper
|
||||||
|
|
||||||
object JacksonObjectMapperProvider extends ExtensionId[JacksonObjectMapperProvider] with ExtensionIdProvider {
|
object JacksonObjectMapperProvider extends ExtensionId[JacksonObjectMapperProvider] with ExtensionIdProvider {
|
||||||
override def get(system: ActorSystem): JacksonObjectMapperProvider = super.get(system)
|
override def get(system: ActorSystem): JacksonObjectMapperProvider = super.get(system)
|
||||||
|
override def get(system: ClassicActorSystemProvider): JacksonObjectMapperProvider = super.get(system)
|
||||||
|
|
||||||
override def lookup = JacksonObjectMapperProvider
|
override def lookup = JacksonObjectMapperProvider
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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")
|
||||||
|
|
||||||
|
|
@ -7,6 +7,7 @@ package akka.stream
|
||||||
import akka.NotUsed
|
import akka.NotUsed
|
||||||
import akka.actor.ActorRef
|
import akka.actor.ActorRef
|
||||||
import akka.actor.ActorSystem
|
import akka.actor.ActorSystem
|
||||||
|
import akka.actor.ClassicActorSystemProvider
|
||||||
import akka.actor.ExtendedActorSystem
|
import akka.actor.ExtendedActorSystem
|
||||||
import akka.actor.Extension
|
import akka.actor.Extension
|
||||||
import akka.actor.ExtensionId
|
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.
|
* The stream ref resolver extension provides a way to serialize and deserialize streamrefs in user serializers.
|
||||||
*/
|
*/
|
||||||
object StreamRefResolver extends ExtensionId[StreamRefResolver] {
|
object StreamRefResolver extends ExtensionId[StreamRefResolver] {
|
||||||
|
|
||||||
/**
|
|
||||||
* Java API
|
|
||||||
*/
|
|
||||||
override def get(system: ActorSystem): StreamRefResolver = super.get(system)
|
override def get(system: ActorSystem): StreamRefResolver = super.get(system)
|
||||||
|
override def get(system: ClassicActorSystemProvider): StreamRefResolver = super.get(system)
|
||||||
|
|
||||||
override def createExtension(system: ExtendedActorSystem): StreamRefResolver =
|
override def createExtension(system: ExtendedActorSystem): StreamRefResolver =
|
||||||
new StreamRefResolverImpl(system)
|
new StreamRefResolverImpl(system)
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@
|
||||||
package akka.stream
|
package akka.stream
|
||||||
|
|
||||||
import akka.actor.ActorSystem
|
import akka.actor.ActorSystem
|
||||||
|
import akka.actor.ClassicActorSystemProvider
|
||||||
import akka.actor.Deploy
|
import akka.actor.Deploy
|
||||||
import akka.actor.ExtendedActorSystem
|
import akka.actor.ExtendedActorSystem
|
||||||
import akka.actor.Extension
|
import akka.actor.Extension
|
||||||
|
|
@ -29,6 +30,7 @@ import com.github.ghik.silencer.silent
|
||||||
*/
|
*/
|
||||||
object SystemMaterializer extends ExtensionId[SystemMaterializer] with ExtensionIdProvider {
|
object SystemMaterializer extends ExtensionId[SystemMaterializer] with ExtensionIdProvider {
|
||||||
override def get(system: ActorSystem): SystemMaterializer = super.get(system)
|
override def get(system: ActorSystem): SystemMaterializer = super.get(system)
|
||||||
|
override def get(system: ClassicActorSystemProvider): SystemMaterializer = super.get(system)
|
||||||
|
|
||||||
override def lookup = SystemMaterializer
|
override def lookup = SystemMaterializer
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -174,6 +174,7 @@ private[akka] class SubFusingActorMaterializerImpl(
|
||||||
*/
|
*/
|
||||||
@InternalApi private[akka] object FlowNames extends ExtensionId[FlowNames] with ExtensionIdProvider {
|
@InternalApi private[akka] object FlowNames extends ExtensionId[FlowNames] with ExtensionIdProvider {
|
||||||
override def get(system: ActorSystem): FlowNames = super.get(system)
|
override def get(system: ActorSystem): FlowNames = super.get(system)
|
||||||
|
override def get(system: ClassicActorSystemProvider): FlowNames = super.get(system)
|
||||||
override def lookup() = FlowNames
|
override def lookup() = FlowNames
|
||||||
override def createExtension(system: ExtendedActorSystem): FlowNames = new FlowNames
|
override def createExtension(system: ExtendedActorSystem): FlowNames = new FlowNames
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@
|
||||||
|
|
||||||
package akka.stream.impl.streamref
|
package akka.stream.impl.streamref
|
||||||
|
|
||||||
|
import akka.actor.ClassicActorSystemProvider
|
||||||
import akka.actor.{ ActorSystem, ExtendedActorSystem, Extension, ExtensionId, ExtensionIdProvider }
|
import akka.actor.{ ActorSystem, ExtendedActorSystem, Extension, ExtensionId, ExtensionIdProvider }
|
||||||
import akka.annotation.InternalApi
|
import akka.annotation.InternalApi
|
||||||
import akka.stream.impl.SeqActorName
|
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 lookup(): StreamRefsMaster.type = this
|
||||||
|
|
||||||
override def get(system: ActorSystem): StreamRefsMaster = super.get(system)
|
override def get(system: ActorSystem): StreamRefsMaster = super.get(system)
|
||||||
|
override def get(system: ClassicActorSystemProvider): StreamRefsMaster = super.get(system)
|
||||||
}
|
}
|
||||||
|
|
||||||
/** INTERNAL API */
|
/** INTERNAL API */
|
||||||
|
|
|
||||||
|
|
@ -130,6 +130,8 @@ object Tcp extends ExtensionId[Tcp] with ExtensionIdProvider {
|
||||||
|
|
||||||
override def get(system: ActorSystem): Tcp = super.get(system)
|
override def get(system: ActorSystem): Tcp = super.get(system)
|
||||||
|
|
||||||
|
override def get(system: ClassicActorSystemProvider): Tcp = super.get(system)
|
||||||
|
|
||||||
def lookup() = Tcp
|
def lookup() = Tcp
|
||||||
|
|
||||||
def createExtension(system: ExtendedActorSystem): Tcp = new Tcp(system)
|
def createExtension(system: ExtendedActorSystem): Tcp = new Tcp(system)
|
||||||
|
|
|
||||||
|
|
@ -81,6 +81,7 @@ object Tcp extends ExtensionId[Tcp] with ExtensionIdProvider {
|
||||||
def apply()(implicit system: ActorSystem): Tcp = super.apply(system)
|
def apply()(implicit system: ActorSystem): Tcp = super.apply(system)
|
||||||
|
|
||||||
override def get(system: ActorSystem): Tcp = super.get(system)
|
override def get(system: ActorSystem): Tcp = super.get(system)
|
||||||
|
override def get(system: ClassicActorSystemProvider): Tcp = super.get(system)
|
||||||
|
|
||||||
def lookup() = Tcp
|
def lookup() = Tcp
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,7 @@ object AkkaSSLConfig extends ExtensionId[AkkaSSLConfig] with ExtensionIdProvider
|
||||||
//////////////////// EXTENSION SETUP ///////////////////
|
//////////////////// EXTENSION SETUP ///////////////////
|
||||||
|
|
||||||
override def get(system: ActorSystem): AkkaSSLConfig = super.get(system)
|
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)
|
def apply()(implicit system: ActorSystem): AkkaSSLConfig = super.apply(system)
|
||||||
|
|
||||||
override def lookup() = AkkaSSLConfig
|
override def lookup() = AkkaSSLConfig
|
||||||
|
|
|
||||||
|
|
@ -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")
|
||||||
|
|
||||||
|
|
@ -4,13 +4,16 @@
|
||||||
|
|
||||||
package akka.testkit
|
package akka.testkit
|
||||||
|
|
||||||
|
import akka.actor.ClassicActorSystemProvider
|
||||||
import com.typesafe.config.Config
|
import com.typesafe.config.Config
|
||||||
import akka.util.Timeout
|
import akka.util.Timeout
|
||||||
import akka.actor.{ ActorSystem, ExtendedActorSystem, Extension, ExtensionId }
|
import akka.actor.{ ActorSystem, ExtendedActorSystem, Extension, ExtensionId }
|
||||||
|
|
||||||
import scala.concurrent.duration.FiniteDuration
|
import scala.concurrent.duration.FiniteDuration
|
||||||
|
|
||||||
object TestKitExtension extends ExtensionId[TestKitSettings] {
|
object TestKitExtension extends ExtensionId[TestKitSettings] {
|
||||||
override def get(system: ActorSystem): TestKitSettings = super.get(system)
|
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)
|
def createExtension(system: ExtendedActorSystem): TestKitSettings = new TestKitSettings(system.settings.config)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue