PubSub.source
A source that will subscribe to a Topic
and stream messages published to the topic.
The source can be materialized multiple times, each materialized stream will stream messages published to the topic after the stream has started.
Note that it is not possible to propagate the backpressure from the running stream to the pub sub topic, if the stream is backpressuring published messages are buffered up to a limit and if the limit is hit the configurable OverflowStrategy
decides what happens. It is not possible to use the Backpressure
strategy.
Dependency¶
This operator is included in:
val PekkoVersion = "1.1.3"
libraryDependencies += "org.apache.pekko" %% "pekko-stream-typed" % PekkoVersion
<properties>
<scala.binary.version>2.13</scala.binary.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.pekko</groupId>
<artifactId>pekko-bom_${scala.binary.version}</artifactId>
<version>1.1.3</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.pekko</groupId>
<artifactId>pekko-stream-typed_${scala.binary.version}</artifactId>
</dependency>
</dependencies>
def versions = [
ScalaBinary: "2.13"
]
dependencies {
implementation platform("org.apache.pekko:pekko-bom_${versions.ScalaBinary}:1.1.3")
implementation "org.apache.pekko:pekko-stream-typed_${versions.ScalaBinary}"
}
Signature¶
Reactive Streams semantics¶
emits a message published to the topic is emitted as soon as there is demand from downstream
completes when the topic actor terminates
1.1.3