object Topic
A pub sub topic is an actor that handles subscribing to a topic and publishing messages to all subscribed actors.
It is mostly useful in a clustered setting, where it is intended to be started once on every node that want to house subscribers or publish messages to the topic, but it also works in a local setting without cluster.
In a clustered context messages are deduplicated so that there is at most one message sent to each node for each publish and if there are no subscribers on a node, no message is sent to it. Note that the list of subscribers is eventually consistent and there are no delivery guarantees built in.
Each topic results in a akka.actor.typed.receptionist.ServiceKey in the akka.actor.typed.receptionist.Receptionist so the same scaling recommendation holds for topics, see docs: https://doc.akka.io/docs/akka/current/typed/actor-discovery.html#receptionist-scalability
- Source
- Topic.scala
- Alphabetic
- By Inheritance
- Topic
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
trait
Command[T] extends internal.pubsub.TopicImpl.Command[T]
Not for user extension
Not for user extension
- Annotations
- @DoNotInherit()
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
apply[T](topicName: String)(implicit classTag: ClassTag[T]): Behavior[Command[T]]
Scala API: Create a topic actor behavior for the given topic name and message type.
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @HotSpotIntrinsicCandidate()
-
def
create[T](messageClass: Class[T], topicName: String): Behavior[Command[T]]
Java API: Create a topic actor behavior for the given topic name and message class
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
publish[T](message: T): Command[T]
Java API: Publish the message to all currently known subscribers.
-
def
subscribe[T](subscriber: ActorRef[T]): Command[T]
Java API: Subscribe to this topic.
Java API: Subscribe to this topic. Should only be used for local subscribers.
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
unsubscribe[T](subscriber: ActorRef[T]): Command[T]
Java API: Unsubscribe a previously subscribed actor from this topic.
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
object
Publish
Scala API: Publish the message to all currently known subscribers.
-
object
Subscribe
Scala API: Subscribe to this topic.
Scala API: Subscribe to this topic. Should only be used for local subscribers.
-
object
Unsubscribe
Scala API: Unsubscribe a previously subscribed actor from this topic.