This is an automated email from the ASF dual-hosted git repository.
He-Pin pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/pekko.git
The following commit(s) were added to refs/heads/main by this push:
new 6bddca4f9c docs: fix broken links, anchors and snippet labels (#3587)
6bddca4f9c is described below
commit 6bddca4f9cf6ef1c014f8ab930b2de695474fc32
Author: PJ Fanning <[email protected]>
AuthorDate: Fri Oct 9 05:58:08 2026 +0100
docs: fix broken links, anchors and snippet labels (#3587)
* docs: fix broken links, anchors and snippet labels
Motivation:
A review of the docs found links that point to the wrong class, file or
anchor, API doc anchors that do not match the actual signatures,
snippet labels that name the wrong file, and invalid directives
(@api, @apiref, @apiDoc).
Modification:
- actors.md: classic ReceiveBuilder target, actor-hotswap and
actor-reply anchors, fully qualified Future anchors, Timer snippet
labels
- cluster-client.md: AbstractActor#getSender() target, sample link text
- event-bus.md: EventBus.scala github path, javadoc for LookupEventBus
- futures.md: scala.concurrent.Future; io-tcp.md: jdocs/io/japi path
- coordination.md, general/jmm.md: snippet labels
- serialization.md: stray quote in URL
- additional/rolling-updates.md: released pekko-management extref,
@ref to the SBR strategies section
- typed/: Receptionist.Listing target, supervise anchor, snippet and
tab labels, thenRun and StatusReply.ack anchors, @apidoc instead of
@api/@apiref/@apiDoc
- stream/: async, pull and SourceRef targets; operator page anchors and
labels for Sink.never/source, flattenOptional, PubSub.sink/source,
fromOutputStream, alsoToAll, interleaveAll, concatLazy, dropRepeated,
groupedAdjacentByWeighted, mapAsyncPartitioned(Unordered),
mapWithResource, materializeIntoSource, monitor, onErrorContinue,
prepend/prependLazy, preMaterialize, takeUntil, watchTermination,
mapConcat/statefulMapConcat, ActorSink.actorRef
Result:
Links and API doc anchors point to existing targets and labels match
the referenced files.
Tests:
- Not run - docs only
References:
None - found during a review of the docs
* docs: remove duplicated note on the prepend operator page
Motivation:
prepend.md has the same note twice; the first copy is indented, so it
renders as a code block. #3588 skipped it because this PR changes a
line inside it.
Modification:
Remove the indented copy and keep the second note.
Result:
The note appears once and renders as a note.
Tests:
- Not run - docs only
References:
Refs #3588
---
docs/src/main/paradox/actors.md | 14 +++++++-------
docs/src/main/paradox/additional/rolling-updates.md | 4 ++--
docs/src/main/paradox/cluster-client.md | 8 ++++----
docs/src/main/paradox/coordination.md | 2 +-
docs/src/main/paradox/event-bus.md | 4 ++--
docs/src/main/paradox/futures.md | 2 +-
docs/src/main/paradox/general/jmm.md | 2 +-
docs/src/main/paradox/io-tcp.md | 2 +-
docs/src/main/paradox/serialization.md | 2 +-
.../stream/operators/ActorSink/actorRefWithBackpressure.md | 2 +-
.../main/paradox/stream/operators/Flow/flattenOptional.md | 2 +-
docs/src/main/paradox/stream/operators/PubSub/sink.md | 2 +-
docs/src/main/paradox/stream/operators/PubSub/source.md | 2 +-
docs/src/main/paradox/stream/operators/Sink/never.md | 2 +-
docs/src/main/paradox/stream/operators/Sink/source.md | 2 +-
.../paradox/stream/operators/Source-or-Flow/alsoToAll.md | 4 ++--
.../paradox/stream/operators/Source-or-Flow/concatLazy.md | 4 ++--
.../stream/operators/Source-or-Flow/dropRepeated.md | 4 ++--
.../operators/Source-or-Flow/groupedAdjacentByWeighted.md | 4 ++--
.../stream/operators/Source-or-Flow/interleaveAll.md | 4 ++--
.../stream/operators/Source-or-Flow/mapAsyncPartitioned.md | 4 ++--
.../Source-or-Flow/mapAsyncPartitionedUnordered.md | 4 ++--
.../paradox/stream/operators/Source-or-Flow/mapConcat.md | 4 ++--
.../stream/operators/Source-or-Flow/mapWithResource.md | 4 ++--
.../operators/Source-or-Flow/materializeIntoSource.md | 2 +-
.../paradox/stream/operators/Source-or-Flow/monitor.md | 6 ++++--
.../stream/operators/Source-or-Flow/onErrorContinue.md | 4 ++--
.../stream/operators/Source-or-Flow/preMaterialize.md | 2 +-
.../paradox/stream/operators/Source-or-Flow/prepend.md | 11 +----------
.../paradox/stream/operators/Source-or-Flow/prependLazy.md | 6 +++---
.../stream/operators/Source-or-Flow/statefulMapConcat.md | 2 +-
.../paradox/stream/operators/Source-or-Flow/takeUntil.md | 6 ++----
.../stream/operators/Source-or-Flow/watchTermination.md | 4 ++--
.../stream/operators/StreamConverters/fromOutputStream.md | 2 +-
docs/src/main/paradox/stream/stream-customize.md | 2 +-
docs/src/main/paradox/stream/stream-rate.md | 2 +-
docs/src/main/paradox/stream/stream-refs.md | 2 +-
docs/src/main/paradox/typed/actor-discovery.md | 2 +-
docs/src/main/paradox/typed/durable-state/persistence.md | 4 ++--
docs/src/main/paradox/typed/guide/tutorial_3.md | 8 ++++----
docs/src/main/paradox/typed/interaction-patterns.md | 2 +-
docs/src/main/paradox/typed/persistence.md | 4 ++--
docs/src/main/paradox/typed/replicated-eventsourcing.md | 6 +++---
docs/src/main/paradox/typed/style-guide.md | 2 +-
44 files changed, 79 insertions(+), 88 deletions(-)
diff --git a/docs/src/main/paradox/actors.md b/docs/src/main/paradox/actors.md
index eecbe208a1..c349900752 100644
--- a/docs/src/main/paradox/actors.md
+++ b/docs/src/main/paradox/actors.md
@@ -64,7 +64,7 @@ Actor classes are implemented by extending the
@javadoc[AbstractActor](pekko.act
the “initial behavior” in the
@javadoc[createReceive](pekko.actor.AbstractActor#createReceive()) method.
The `createReceive` method has no arguments and returns
@javadoc[AbstractActor.Receive](pekko.actor.AbstractActor.Receive). It defines
which messages your Actor can handle, along with the implementation of how the
messages should be processed. You can build such behavior with a builder named
-@javadoc[ReceiveBuilder](pekko.actor.typed.javadsl.ReceiveBuilder). This build
has a convenient factory in `AbstractActor` called
@javadoc[receiveBuilder](pekko.actor.AbstractActor#receiveBuilder()).
+@javadoc[ReceiveBuilder](pekko.japi.pf.ReceiveBuilder). This builder has a
convenient factory in `AbstractActor` called
@javadoc[receiveBuilder](pekko.actor.AbstractActor#receiveBuilder()).
@@@
@@ -89,7 +89,7 @@ as explained below.
The result of the
@scala[@scaladoc[receive](pekko.actor.Actor#receive:org.apache.pekko.actor.Actor.Receive)
method is a partial function object, which is]
@java[@javadoc[createReceive](pekko.actor.AbstractActor#createReceive())
method is @javadoc[AbstractActor.Receive](pekko.actor.AbstractActor.Receive)
which is a wrapper around partial
scala function object. It is] stored within the actor as its “initial
behavior”,
-see @ref:[Become/Unbecome](#become-unbecome) for
+see @ref:[Become/Unbecome](#actor-hotswap) for
further information on changing the behavior of an actor after its
construction.
@@ -314,7 +314,7 @@ In addition, it offers:
*
@scala[@scaladoc[self](pekko.actor.Actor#self:org.apache.pekko.actor.ActorRef)]
@java[@javadoc[getSelf()](pekko.actor.AbstractActor#getSelf())] reference to
the @apidoc[actor.ActorRef] of the actor
*
@scala[@scaladoc[sender](pekko.actor.Actor#sender():org.apache.pekko.actor.ActorRef)]
@java[@javadoc[getSender()](pekko.actor.AbstractActor#getSender())] reference
sender Actor of the last received message, typically used as described in
@scala[[Actor.Reply](#actor-reply)]
- @java[[LambdaActor.Reply](#lambdaactor-reply)]
+ @java[[Reply to messages](#actor-reply)]
*
@scala[@scaladoc[supervisorStrategy](pekko.actor.Actor#supervisorStrategy:org.apache.pekko.actor.SupervisorStrategy)]
@java[@javadoc[supervisorStrategy()](pekko.actor.AbstractActor#supervisorStrategy())]
user overridable definition the strategy to use for supervising child actors
This strategy is typically declared inside the actor to have access
@@ -405,7 +405,7 @@ occupying it. `ActorSelection` cannot be watched for this
reason. It is
possible to resolve the current incarnation's `ActorRef` living under the
path by sending an @apidoc[actor.Identify] message to the `ActorSelection`
which
will be replied to with an @apidoc[actor.ActorIdentity] containing the correct
reference
-(see @ref:[ActorSelection](#actorselection)). This can also be done with the
@apidoc[resolveOne](actor.ActorSelection)
{scala="#resolveOne(timeout:scala.concurrent.duration.FiniteDuration):scala.concurrent.Future[actor.ActorRef]"
java="#resolveOne(java.time.Duration)"}
+(see @ref:[ActorSelection](#actorselection)). This can also be done with the
@apidoc[resolveOne](actor.ActorSelection)
{scala="#resolveOne(timeout:scala.concurrent.duration.FiniteDuration):scala.concurrent.Future[org.apache.pekko.actor.ActorRef]"
java="#resolveOne(java.time.Duration)"}
method of the `ActorSelection`, which returns a
@scala[@scaladoc[Future](scala.concurrent.Future)]@java[@javadoc[CompletionStage](java.util.concurrent.CompletionStage)]
of the matching
`ActorRef`.
@@ -582,7 +582,7 @@ Java
: @@snip
[ActorDocTest.java](/docs/src/test/java/jdocs/actor/ActorDocTest.java) {
#import-identify #identify }
You can also acquire an `ActorRef` for an `ActorSelection` with
-the @apidoc[resolveOne](actor.ActorSelection)
{scala="#resolveOne(timeout:scala.concurrent.duration.FiniteDuration):scala.concurrent.Future[actor.ActorRef]"
java="#resolveOne(java.time.Duration)"} method of the `ActorSelection`. It
returns a
@scala[@scaladoc[Future](scala.concurrent.Future)]@java[@javadoc[CompletionStage](java.util.concurrent.CompletionStage)]
+the @apidoc[resolveOne](actor.ActorSelection)
{scala="#resolveOne(timeout:scala.concurrent.duration.FiniteDuration):scala.concurrent.Future[org.apache.pekko.actor.ActorRef]"
java="#resolveOne(java.time.Duration)"} method of the `ActorSelection`. It
returns a
@scala[@scaladoc[Future](scala.concurrent.Future)]@java[@javadoc[CompletionStage](java.util.concurrent.CompletionStage)]
of the matching `ActorRef` if such an actor exists. It is completed with
failure @apidoc[actor.ActorNotFound] if no such actor exists or the
identification
didn't complete within the supplied `timeout`.
@@ -902,10 +902,10 @@ to use the support for named timers. The lifecycle of
scheduled messages can be
when the actor is restarted and that is taken care of by the timers.
Scala
-: @@snip
[ActorDocSpec.scala](/docs/src/test/scala/docs/actor/TimerDocSpec.scala) {
#timers }
+: @@snip
[TimerDocSpec.scala](/docs/src/test/scala/docs/actor/TimerDocSpec.scala) {
#timers }
Java
-: @@snip
[ActorDocTest.java](/docs/src/test/java/jdocs/actor/TimerDocTest.java) {
#timers }
+: @@snip
[TimerDocTest.java](/docs/src/test/java/jdocs/actor/TimerDocTest.java) {
#timers }
The @ref:[Scheduler](scheduler.md#schedule-periodically) documentation
describes the difference between
`fixed-delay` and `fixed-rate` scheduling. If you are uncertain of which one
to use you should pick
diff --git a/docs/src/main/paradox/additional/rolling-updates.md
b/docs/src/main/paradox/additional/rolling-updates.md
index 77df7ebd68..a545d25918 100644
--- a/docs/src/main/paradox/additional/rolling-updates.md
+++ b/docs/src/main/paradox/additional/rolling-updates.md
@@ -59,7 +59,7 @@ To understand which is old and new it compares the version
numbers using normal
see @apidoc[util.Version] for more details.
When using [Kubernetes
Deployments](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/)
with `RollingUpdate`
-strategy you should enable the @extref:[app-version from Deployment feature
from Pekko
Management](pekko-management-snapshot:rolling-updates.html#app-version-from-deployment)
+strategy you should enable the @extref:[app-version from Deployment feature
from Pekko
Management](pekko-management:rolling-updates.html#app-version-from-deployment)
to automatically define the `app-version` from the Kubernetes
`deployment.kubernetes.io/revision` annotation.
Rebalance is also disabled during rolling updates, since shards from stopped
nodes are anyway supposed to be
@@ -130,7 +130,7 @@ If you need to change any of the following aspects of
sharding it will require a
### Cluster configuration change
-* A full restart is required if you change the [SBR
strategy]($pekko.doc.dns$/docs/pekko/current/split-brain-resolver.html#strategies)
+* A full restart is required if you change the @ref:[SBR
strategy](../split-brain-resolver.md#strategies)
### Migrating from PersistentFSM to EventSourcedBehavior
diff --git a/docs/src/main/paradox/cluster-client.md
b/docs/src/main/paradox/cluster-client.md
index 0a28f86b76..c2db7bf0c2 100644
--- a/docs/src/main/paradox/cluster-client.md
+++ b/docs/src/main/paradox/cluster-client.md
@@ -93,9 +93,9 @@ what clients are connected to.
Response messages from the destination actor are tunneled via the receptionist
to avoid inbound connections from other cluster nodes to the client:
-*
@scala[@scaladoc[`sender()`](pekko.actor.Actor)]@java[@javadoc[`getSender()`](pekko.actor.Actor)],
as seen by the destination actor, is not the client itself,
+*
@scala[@scaladoc[`sender()`](pekko.actor.Actor)]@java[@javadoc[`getSender()`](pekko.actor.AbstractActor#getSender())],
as seen by the destination actor, is not the client itself,
but the receptionist
-* @scala[@scaladoc[`sender()`](pekko.actor.Actor)]
@java[@javadoc[`getSender()`](pekko.actor.Actor)] of the response messages,
sent back from the destination and seen by the client,
+* @scala[@scaladoc[`sender()`](pekko.actor.Actor)]
@java[@javadoc[`getSender()`](pekko.actor.AbstractActor#getSender())] of the
response messages, sent back from the destination and seen by the client,
is `deadLetters`
since the client should normally send subsequent messages via the
@apidoc[ClusterClient].
@@ -253,8 +253,8 @@ An example is provided to illustrate an approach to migrate
from the deprecated
with minimal changes to your existing code. The example is intended to be
copied and adjusted to your needs.
It will not be provided as a published artifact.
-*
[pekko-samples/pekko-sample-cluster-cluster-client-grpc-scala](https://github.com/apache/pekko-samples/tree/main/pekko-sample-cluster-client-grpc-scala)
implemented in Scala
-*
[pekko-samples/pekko-sample-cluster-cluster-client-grpc-java](https://github.com/apache/pekko-samples/tree/main/pekko-sample-cluster-client-grpc-java)
implemented in Java
+*
[pekko-samples/pekko-sample-cluster-client-grpc-scala](https://github.com/apache/pekko-samples/tree/main/pekko-sample-cluster-client-grpc-scala)
implemented in Scala
+*
[pekko-samples/pekko-sample-cluster-client-grpc-java](https://github.com/apache/pekko-samples/tree/main/pekko-sample-cluster-client-grpc-java)
implemented in Java
The example is still using an actor on the client-side to have an API that is
very close
to the original Cluster Client. The messages this actor can handle correspond
to the
diff --git a/docs/src/main/paradox/coordination.md
b/docs/src/main/paradox/coordination.md
index 1a3b4c88b3..974acf6c8b 100644
--- a/docs/src/main/paradox/coordination.md
+++ b/docs/src/main/paradox/coordination.md
@@ -59,7 +59,7 @@ Scala
: @@snip
[LeaseDocSpec.scala](/docs/src/test/scala/docs/coordination/LeaseDocSpec.scala)
{ #cluster-owner }
Java
-: @@snip
[LeaseDocTest.scala](/docs/src/test/java/jdocs/coordination/LeaseDocTest.java)
{ #cluster-owner }
+: @@snip
[LeaseDocTest.java](/docs/src/test/java/jdocs/coordination/LeaseDocTest.java) {
#cluster-owner }
For use cases where multiple different leases on the same node then something
unique must be added to the name. For example
a lease can be used with Cluster Sharding and in this case the shard Id is
included in the lease name for each shard.
diff --git a/docs/src/main/paradox/event-bus.md
b/docs/src/main/paradox/event-bus.md
index e174f20f66..fa3ff00b64 100644
--- a/docs/src/main/paradox/event-bus.md
+++ b/docs/src/main/paradox/event-bus.md
@@ -35,14 +35,14 @@ for any concrete implementation.
The classifiers presented here are part of the Pekko distribution, but rolling
your own in case you do not find a perfect match is not difficult, check the
-implementation of the existing ones on
@extref[github](github:pekko-actor/src/main/scala/org/apache/pekko/event/EventBus.scala)
+implementation of the existing ones on
@extref[github](github:actor/src/main/scala/org/apache/pekko/event/EventBus.scala)
### Lookup Classification
The simplest classification is just to extract an arbitrary classifier from
each event and maintaining a set of subscribers for each possible classifier.
This can be compared to tuning in on a radio station. The @scala[trait
-@scaladoc[LookupClassification](pekko.event.LookupClassification)]@java[abstract
class @scaladoc[LookupEventBus](org.apache.pekko.event.japi.LookupEventBus)]
is still generic in that it abstracts over how to
+@scaladoc[LookupClassification](pekko.event.LookupClassification)]@java[abstract
class @javadoc[LookupEventBus](pekko.event.japi.LookupEventBus)] is still
generic in that it abstracts over how to
compare subscribers and how exactly to classify them.
The necessary methods to be implemented are illustrated with the following
example:
diff --git a/docs/src/main/paradox/futures.md b/docs/src/main/paradox/futures.md
index 1f8a069fd3..ef282a2377 100644
--- a/docs/src/main/paradox/futures.md
+++ b/docs/src/main/paradox/futures.md
@@ -15,7 +15,7 @@ Pekko offers tiny helpers for use with
@scala[@scaladoc[Future](scala.concurrent
## After
-@scala[`org.apache.pekko.pattern.after`]@java[@javadoc[org.apache.pekko.pattern.Patterns.after](pekko.pattern.Patterns#after)]
makes it easy to complete a
@scala[@scaladoc[Future](pekko.concurrent.Future)]@java[@javadoc[CompletionStage](java.util.concurrent.CompletionStage)]
with a value or exception after a timeout.
+@scala[`org.apache.pekko.pattern.after`]@java[@javadoc[org.apache.pekko.pattern.Patterns.after](pekko.pattern.Patterns#after)]
makes it easy to complete a
@scala[@scaladoc[Future](scala.concurrent.Future)]@java[@javadoc[CompletionStage](java.util.concurrent.CompletionStage)]
with a value or exception after a timeout.
Scala
: @@snip
[FutureDocSpec.scala](/docs/src/test/scala/docs/future/FutureDocSpec.scala) {
#after }
diff --git a/docs/src/main/paradox/general/jmm.md
b/docs/src/main/paradox/general/jmm.md
index 35ddcc7fa6..fe9243733f 100644
--- a/docs/src/main/paradox/general/jmm.md
+++ b/docs/src/main/paradox/general/jmm.md
@@ -74,7 +74,7 @@ Scala
: @@snip
[SharedMutableStateDocSpec.scala](/docs/src/test/scala/docs/actor/typed/SharedMutableStateDocSpec.scala)
{ #mutable-state }
Java
-: @@snip
[DistributedDataDocTest.java](/docs/src/test/java/jdocs/actor/typed/SharedMutableStateDocTest.java)
{ #mutable-state }
+: @@snip
[SharedMutableStateDocTest.java](/docs/src/test/java/jdocs/actor/typed/SharedMutableStateDocTest.java)
{ #mutable-state }
* Messages **should** be immutable, this is to avoid the shared mutable state
trap.
diff --git a/docs/src/main/paradox/io-tcp.md b/docs/src/main/paradox/io-tcp.md
index de5104a777..0116d86980 100644
--- a/docs/src/main/paradox/io-tcp.md
+++ b/docs/src/main/paradox/io-tcp.md
@@ -219,7 +219,7 @@ to the network socket.
These write back-pressure models (with the exception of the second which is
rather specialised) are
demonstrated in complete examples below. The full and contiguous source is
-available @scala[@extref[on
GitHub](github:docs/src/test/scala/docs/io/EchoServer.scala)]@java[@extref[on
GitHub](github:docs/rst/java/code/jdocs/io/japi)].
+available @scala[@extref[on
GitHub](github:docs/src/test/scala/docs/io/EchoServer.scala)]@java[@extref[on
GitHub](github:docs/src/test/java/jdocs/io/japi)].
For back-pressuring reads there are two modes of operation
diff --git a/docs/src/main/paradox/serialization.md
b/docs/src/main/paradox/serialization.md
index 31000e306d..4fefffbb36 100644
--- a/docs/src/main/paradox/serialization.md
+++ b/docs/src/main/paradox/serialization.md
@@ -218,7 +218,7 @@ Applications should use standard Protobuf dependency and
not `pekko-protobuf-v3`
## Java serialization
-Java serialization is known to be slow and [prone to
attacks](https://docs.oracle.com/en/java/javase/25/core/addressing-serialization-vulnerabilities.html")
+Java serialization is known to be slow and [prone to
attacks](https://docs.oracle.com/en/java/javase/25/core/addressing-serialization-vulnerabilities.html)
of various kinds - it never was designed for high throughput messaging after
all.
One may think that network bandwidth and latency limit the performance of
remote messaging, but serialization is a more typical bottleneck.
diff --git
a/docs/src/main/paradox/stream/operators/ActorSink/actorRefWithBackpressure.md
b/docs/src/main/paradox/stream/operators/ActorSink/actorRefWithBackpressure.md
index ad8203b47a..421e5b3686 100644
---
a/docs/src/main/paradox/stream/operators/ActorSink/actorRefWithBackpressure.md
+++
b/docs/src/main/paradox/stream/operators/ActorSink/actorRefWithBackpressure.md
@@ -28,7 +28,7 @@ There is also a variant without a concrete acknowledge
message accepting any mes
See also:
-* @ref[`ActorSink.actorRef`](../ActorSink/actorRefWithBackpressure.md) Send
elements to an actor of the new actors API, without considering backpressure
+* @ref[`ActorSink.actorRef`](../ActorSink/actorRef.md) Send elements to an
actor of the new actors API, without considering backpressure
* @ref[`Sink.actorRef`](../Sink/actorRef.md) Send elements to an actor of the
classic actors API, without considering backpressure
* @ref[`Sink.actorRefWithBackpressue`](../Sink/actorRefWithBackpressure.md)
The corresponding operator for the classic actors API
diff --git a/docs/src/main/paradox/stream/operators/Flow/flattenOptional.md
b/docs/src/main/paradox/stream/operators/Flow/flattenOptional.md
index 72b79d52c7..1ad5d8a983 100644
--- a/docs/src/main/paradox/stream/operators/Flow/flattenOptional.md
+++ b/docs/src/main/paradox/stream/operators/Flow/flattenOptional.md
@@ -6,7 +6,7 @@ Collect the value of `Optional` from all the elements passing
through this flow
## Signature
-@apidoc[Flow.flattenOptional](Flow$) {
java="#flattenOptional(org.apache.pekko.stream.javadsl.Flow)" }
+@apidoc[Flow.flattenOptional](Flow$) { java="#flattenOptional()" }
## Description
diff --git a/docs/src/main/paradox/stream/operators/PubSub/sink.md
b/docs/src/main/paradox/stream/operators/PubSub/sink.md
index 9612700ffd..715c439181 100644
--- a/docs/src/main/paradox/stream/operators/PubSub/sink.md
+++ b/docs/src/main/paradox/stream/operators/PubSub/sink.md
@@ -24,7 +24,7 @@ version=PekkoVersion
## Signature
-@apidoc[PubSub.sink](stream.typed.*.PubSub$) {
scala="#sink[T](topic:org.apache.pekko.actor.typed.Toppic[T]):org.apache.pekko.stream.scaladsl.Sink[T,org.apache.pekko.NotUsed]"
java="#sink(org.apache.pekko.actor.typed.Topic)" }
+@apidoc[PubSub.sink](stream.typed.*.PubSub$) {
scala="#sink[T](topicActor:org.apache.pekko.actor.typed.ActorRef[org.apache.pekko.actor.typed.pubsub.Topic.Command[T]]):org.apache.pekko.stream.scaladsl.Sink[T,org.apache.pekko.NotUsed]"
java="#sink(org.apache.pekko.actor.typed.ActorRef)" }
## Reactive Streams semantics
diff --git a/docs/src/main/paradox/stream/operators/PubSub/source.md
b/docs/src/main/paradox/stream/operators/PubSub/source.md
index 1e73dbea49..33c2027f34 100644
--- a/docs/src/main/paradox/stream/operators/PubSub/source.md
+++ b/docs/src/main/paradox/stream/operators/PubSub/source.md
@@ -27,7 +27,7 @@ version=PekkoVersion
## Signature
-@apidoc[PubSub.source](stream.typed.*.PubSub$) {
scala="#source[T](topic:org.apache.pekko.actor.typed.Topic[T]):org.apache.pekko.stream.scaladsl.Source[T,org.apache.pekko.NotUsed]"
java="#source(org.apache.pekko.actor.typed.Topic)" }
+@apidoc[PubSub.source](stream.typed.*.PubSub$) {
scala="#source[T](topicActor:org.apache.pekko.actor.typed.ActorRef[org.apache.pekko.actor.typed.pubsub.Topic.Command[T]],bufferSize:Int,overflowStrategy:org.apache.pekko.stream.OverflowStrategy):org.apache.pekko.stream.scaladsl.Source[T,org.apache.pekko.NotUsed]"
java="#source(org.apache.pekko.actor.typed.ActorRef,int,org.apache.pekko.stream.OverflowStrategy)"
}
## Reactive Streams semantics
diff --git a/docs/src/main/paradox/stream/operators/Sink/never.md
b/docs/src/main/paradox/stream/operators/Sink/never.md
index efaaf47ddc..ae1859134b 100644
--- a/docs/src/main/paradox/stream/operators/Sink/never.md
+++ b/docs/src/main/paradox/stream/operators/Sink/never.md
@@ -7,7 +7,7 @@ Always backpressure never cancel and never consume any elements
from the stream.
## Signature
@apidoc[Sink.never](Sink$) { java="#never()" }
-@apidoc[Sink.never](Sink$) { scala="#never()" }
+@apidoc[Sink.never](Sink$) {
scala="#never:org.apache.pekko.stream.scaladsl.Sink[Any,scala.concurrent.Future[org.apache.pekko.Done]]"
}
## Description
diff --git a/docs/src/main/paradox/stream/operators/Sink/source.md
b/docs/src/main/paradox/stream/operators/Sink/source.md
index 6dc6f751e9..f1b78044a5 100644
--- a/docs/src/main/paradox/stream/operators/Sink/source.md
+++ b/docs/src/main/paradox/stream/operators/Sink/source.md
@@ -7,7 +7,7 @@ A `Sink` that materializes this `Sink` itself as a `Source`,
the returning `Sour
## Signature
@apidoc[Sink.source](Sink$) { java="#source()" }
-@apidoc[Sink.source](Sink$) { scala="#source()" }
+@apidoc[Sink.source](Sink$) {
scala="#source[T]:org.apache.pekko.stream.scaladsl.Sink[T,org.apache.pekko.stream.scaladsl.Source[T,org.apache.pekko.NotUsed]]"
}
## Description
diff --git a/docs/src/main/paradox/stream/operators/Source-or-Flow/alsoToAll.md
b/docs/src/main/paradox/stream/operators/Source-or-Flow/alsoToAll.md
index b2650a8c6c..8a75a87a2f 100644
--- a/docs/src/main/paradox/stream/operators/Source-or-Flow/alsoToAll.md
+++ b/docs/src/main/paradox/stream/operators/Source-or-Flow/alsoToAll.md
@@ -6,8 +6,8 @@ Attaches the given @apidoc[Source]s to this @apidoc[Flow],
meaning that elements
## Signature
-@apidoc[Source.alsoToAll](Source) {
scala="#alsoToAll(that:org.apache.pekko.stream.Graph[org.apache.pekko.stream.SinkShape[Out],_]*):FlowOps.this.Repr[Out]"
java="#alsoToAll(org.apache.pekko.stream.Graph*)" }
-@apidoc[Flow.alsoToAll](Flow) {
scala="#alsoToAll(that:org.apache.pekko.stream.Graph[org.apache.pekko.stream.SinkShape[Out],_]*):FlowOps.this.Repr[Out]"
java="#alsoToAll(org.apache.pekko.stream.Graph*)" }
+@apidoc[Source.alsoToAll](Source) {
scala="#alsoToAll(those:org.apache.pekko.stream.Graph[org.apache.pekko.stream.SinkShape[Out],_]*):FlowOps.this.Repr[Out]"
java="#alsoToAll(org.apache.pekko.stream.Graph*)" }
+@apidoc[Flow.alsoToAll](Flow) {
scala="#alsoToAll(those:org.apache.pekko.stream.Graph[org.apache.pekko.stream.SinkShape[Out],_]*):FlowOps.this.Repr[Out]"
java="#alsoToAll(org.apache.pekko.stream.Graph*)" }
## Description
diff --git
a/docs/src/main/paradox/stream/operators/Source-or-Flow/concatLazy.md
b/docs/src/main/paradox/stream/operators/Source-or-Flow/concatLazy.md
index cae00a14bf..796d6830bc 100644
--- a/docs/src/main/paradox/stream/operators/Source-or-Flow/concatLazy.md
+++ b/docs/src/main/paradox/stream/operators/Source-or-Flow/concatLazy.md
@@ -6,8 +6,8 @@ After completion of the original upstream the elements of the
given source will
## Signature
-@apidoc[Source.concat](Source) {
scala="#concatLazy[U>:Out,Mat2](that:org.apache.pekko.stream.Graph[org.apache.pekko.stream.SourceShape[U],Mat2]):FlowOps.this.Repr[U]"
java="#concatLazy(org.apache.pekko.stream.Graph)" }
-@apidoc[Flow.concat](Flow) {
scala="#concatLazy[U>:Out,Mat2](that:org.apache.pekko.stream.Graph[org.apache.pekko.stream.SourceShape[U],Mat2]):FlowOps.this.Repr[U]"
java="#concatLazy(org.apache.pekko.stream.Graph)" }
+@apidoc[Source.concatLazy](Source) {
scala="#concatLazy[U>:Out,Mat2](that:org.apache.pekko.stream.Graph[org.apache.pekko.stream.SourceShape[U],Mat2]):FlowOps.this.Repr[U]"
java="#concatLazy(org.apache.pekko.stream.Graph)" }
+@apidoc[Flow.concatLazy](Flow) {
scala="#concatLazy[U>:Out,Mat2](that:org.apache.pekko.stream.Graph[org.apache.pekko.stream.SourceShape[U],Mat2]):FlowOps.this.Repr[U]"
java="#concatLazy(org.apache.pekko.stream.Graph)" }
## Description
diff --git
a/docs/src/main/paradox/stream/operators/Source-or-Flow/dropRepeated.md
b/docs/src/main/paradox/stream/operators/Source-or-Flow/dropRepeated.md
index 4bce0ea089..7299419b24 100644
--- a/docs/src/main/paradox/stream/operators/Source-or-Flow/dropRepeated.md
+++ b/docs/src/main/paradox/stream/operators/Source-or-Flow/dropRepeated.md
@@ -6,7 +6,7 @@ Only pass on those elements that are distinct from the previous
element.
## Signature
-@apidoc[Source.dropRepeated](Source) {
scala="#dropRepeated):FlowOps.this.Repr[Out]" java="#dropRepeated()" }
+@apidoc[Source.dropRepeated](Source) {
scala="#dropRepeated():FlowOps.this.Repr[Out]" java="#dropRepeated()" }
@apidoc[Flow.dropRepeated](Flow) {
scala="#dropRepeated():FlowOps.this.Repr[Out]" java="#dropRepeated()" }
@@ -38,4 +38,4 @@ Java
## API docs
-@apidoc[Flow.filter](Flow) { scala="#dropRepeated():FlowOps.this.Repr[Out]"
java="#dropRepeated()" }
+@apidoc[Flow.dropRepeated](Flow) {
scala="#dropRepeated():FlowOps.this.Repr[Out]" java="#dropRepeated()" }
diff --git
a/docs/src/main/paradox/stream/operators/Source-or-Flow/groupedAdjacentByWeighted.md
b/docs/src/main/paradox/stream/operators/Source-or-Flow/groupedAdjacentByWeighted.md
index 9eb034a69f..1ffc8e7f6c 100644
---
a/docs/src/main/paradox/stream/operators/Source-or-Flow/groupedAdjacentByWeighted.md
+++
b/docs/src/main/paradox/stream/operators/Source-or-Flow/groupedAdjacentByWeighted.md
@@ -6,8 +6,8 @@ Partitions this stream into chunks by a delimiter function and
a weight limit.
## Signature
-@apidoc[Source.groupedAdjacentByWeighted](Source) {
scala="#groupedAdjacentByWeighted[T](f:Out=>T,maxWeight:Long)(costFn:Out=>Long):FlowOps.this.Repr[Seq[Out]]"
java="#groupedAdjacentBy(org.apache.pekko.japi.function.Function,long,org.apache.pekko.japi.function.Function)"
}
-@apidoc[Flow.groupedAdjacentByWeighted](Flow) {
scala="#groupedAdjacentByWeighted[T](f:Out=>T,maxWeight:Long)(costFn:Out=>Long):FlowOps.this.Repr[Seq[Out]]"
java="#groupedAdjacentBy(org.apache.pekko.japi.function.Function,long,org.apache.pekko.japi.function.Function)"
}
+@apidoc[Source.groupedAdjacentByWeighted](Source) {
scala="#groupedAdjacentByWeighted[T](f:Out=>T,maxWeight:Long)(costFn:Out=>Long):FlowOps.this.Repr[Seq[Out]]"
java="#groupedAdjacentByWeighted(org.apache.pekko.japi.function.Function,long,org.apache.pekko.japi.function.Function)"
}
+@apidoc[Flow.groupedAdjacentByWeighted](Flow) {
scala="#groupedAdjacentByWeighted[T](f:Out=>T,maxWeight:Long)(costFn:Out=>Long):FlowOps.this.Repr[Seq[Out]]"
java="#groupedAdjacentByWeighted(org.apache.pekko.japi.function.Function,long,org.apache.pekko.japi.function.Function)"
}
## Description
diff --git
a/docs/src/main/paradox/stream/operators/Source-or-Flow/interleaveAll.md
b/docs/src/main/paradox/stream/operators/Source-or-Flow/interleaveAll.md
index 4b84073a8e..ced164f3fd 100644
--- a/docs/src/main/paradox/stream/operators/Source-or-Flow/interleaveAll.md
+++ b/docs/src/main/paradox/stream/operators/Source-or-Flow/interleaveAll.md
@@ -6,8 +6,8 @@ Emits a specifiable number of elements from the original
source, then from the p
## Signature
-@apidoc[Source.interleaveAll](Source) {
scala="#interleaveAll[U>:Out](that:List[org.apache.pekko.stream.Graph[org.apache.pekko.stream.SourceShape[U],_]],segmentSize:Int,eagerClose:Boolean):FlowOps.this.Repr[U]"
java="#interleaveAll(java.util.List[org.apache.pekko.stream.Graph],int,boolean)"
}
-@apidoc[Flow.interleaveAll](Flow) {
scala="#interleaveAll[U>:Out](that:List[org.apache.pekko.stream.Graph[org.apache.pekko.stream.SourceShape[U],_]],segmentSize:Int,eagerClose:Boolean):FlowOps.this.Repr[U]"
java="#interleaveAll(java.util.List[org.apache.pekko.stream.Graph],int,boolean)"
}
+@apidoc[Source.interleaveAll](Source) {
scala="#interleaveAll[U>:Out](those:Seq[org.apache.pekko.stream.Graph[org.apache.pekko.stream.SourceShape[U],_]],segmentSize:Int,eagerClose:Boolean):FlowOps.this.Repr[U]"
java="#interleaveAll(java.util.List,int,boolean)" }
+@apidoc[Flow.interleaveAll](Flow) {
scala="#interleaveAll[U>:Out](those:Seq[org.apache.pekko.stream.Graph[org.apache.pekko.stream.SourceShape[U],_]],segmentSize:Int,eagerClose:Boolean):FlowOps.this.Repr[U]"
java="#interleaveAll(java.util.List,int,boolean)" }
## Description
diff --git
a/docs/src/main/paradox/stream/operators/Source-or-Flow/mapAsyncPartitioned.md
b/docs/src/main/paradox/stream/operators/Source-or-Flow/mapAsyncPartitioned.md
index 69df57e400..df51db75a0 100644
---
a/docs/src/main/paradox/stream/operators/Source-or-Flow/mapAsyncPartitioned.md
+++
b/docs/src/main/paradox/stream/operators/Source-or-Flow/mapAsyncPartitioned.md
@@ -6,8 +6,8 @@ Pass incoming elements to a partitioning function that returns
a partition resul
## Signature
-@apidoc[Source.mapAsyncPartitioned](Source) {
scala="#mapAsyncPartitioned[T,P](parallelism:Int)(partitioner:Out=%3EP)(f:(Out,P)=%3Escala.concurrent.Future[T]):FlowOps.this.Repr[T]"
java="#mapAsyncPartitioned(int,org.apache.pekko.japi.function.Function,org.apache.pekko.japi.function.Function2"
}
-@apidoc[Flow.mapAsyncPartitioned](Source) {
scala="#mapAsyncPartitioned[T,P](parallelism:Int)(partitioner:Out=%3EP)(f:(Out,P)=%3Escala.concurrent.Future[T]):FlowOps.this.Repr[T]"
java="#mapAsyncPartitioned(int,org.apache.pekko.japi.function.Function,org.apache.pekko.japi.function.Function2"
}
+@apidoc[Source.mapAsyncPartitioned](Source) {
scala="#mapAsyncPartitioned[T,P](parallelism:Int)(partitioner:Out=%3EP)(f:(Out,P)=%3Escala.concurrent.Future[T]):FlowOps.this.Repr[T]"
java="#mapAsyncPartitioned(int,org.apache.pekko.japi.function.Function,org.apache.pekko.japi.function.Function2)"
}
+@apidoc[Flow.mapAsyncPartitioned](Flow) {
scala="#mapAsyncPartitioned[T,P](parallelism:Int)(partitioner:Out=%3EP)(f:(Out,P)=%3Escala.concurrent.Future[T]):FlowOps.this.Repr[T]"
java="#mapAsyncPartitioned(int,org.apache.pekko.japi.function.Function,org.apache.pekko.japi.function.Function2)"
}
## Description
diff --git
a/docs/src/main/paradox/stream/operators/Source-or-Flow/mapAsyncPartitionedUnordered.md
b/docs/src/main/paradox/stream/operators/Source-or-Flow/mapAsyncPartitionedUnordered.md
index 8db4d67f28..609537e0e3 100644
---
a/docs/src/main/paradox/stream/operators/Source-or-Flow/mapAsyncPartitionedUnordered.md
+++
b/docs/src/main/paradox/stream/operators/Source-or-Flow/mapAsyncPartitionedUnordered.md
@@ -6,8 +6,8 @@ Pass incoming elements to a partitioning function that returns
a partition resul
## Signature
-@apidoc[Source.mapAsyncPartitionedUnordered](Source) {
scala="#mapAsyncPartitioned[T,P](parallelism:Int)(partitioner:Out=%3EP)(f:(Out,P)=%3Escala.concurrent.Future[T]):FlowOps.this.Repr[T]"
java="#mapAsyncPartitioned(int,org.apache.pekko.japi.function.Function,org.apache.pekko.japi.function.Function2"
}
-@apidoc[Flow.mapAsyncPartitionedUnordered](Source) {
scala="#mapAsyncPartitioned[T,P](parallelism:Int)(partitioner:Out=%3EP)(f:(Out,P)=%3Escala.concurrent.Future[T]):FlowOps.this.Repr[T]"
java="#mapAsyncPartitioned(int,org.apache.pekko.japi.function.Function,org.apache.pekko.japi.function.Function2"
}
+@apidoc[Source.mapAsyncPartitionedUnordered](Source) {
scala="#mapAsyncPartitionedUnordered[T,P](parallelism:Int)(partitioner:Out=%3EP)(f:(Out,P)=%3Escala.concurrent.Future[T]):FlowOps.this.Repr[T]"
java="#mapAsyncPartitionedUnordered(int,org.apache.pekko.japi.function.Function,org.apache.pekko.japi.function.Function2)"
}
+@apidoc[Flow.mapAsyncPartitionedUnordered](Flow) {
scala="#mapAsyncPartitionedUnordered[T,P](parallelism:Int)(partitioner:Out=%3EP)(f:(Out,P)=%3Escala.concurrent.Future[T]):FlowOps.this.Repr[T]"
java="#mapAsyncPartitionedUnordered(int,org.apache.pekko.japi.function.Function,org.apache.pekko.japi.function.Function2)"
}
## Description
diff --git a/docs/src/main/paradox/stream/operators/Source-or-Flow/mapConcat.md
b/docs/src/main/paradox/stream/operators/Source-or-Flow/mapConcat.md
index 232edee962..e58e47b19e 100644
--- a/docs/src/main/paradox/stream/operators/Source-or-Flow/mapConcat.md
+++ b/docs/src/main/paradox/stream/operators/Source-or-Flow/mapConcat.md
@@ -6,8 +6,8 @@ Transform each element into zero or more elements that are
individually passed d
## Signature
-@apidoc[Source.mapConcat](Source) {
scala="#mapConcat[T](f:Out=>scala.collection.immutable.Iterable[T]):FlowOps.this.Repr[T]"
java="#mapConcat(org.apache.pekko.japi.function.Function)" }
-@apidoc[Flow.mapConcat](Flow) {
scala="#mapConcat[T](f:Out=>scala.collection.immutable.Iterable[T]):FlowOps.this.Repr[T]"
java="#mapConcat(org.apache.pekko.japi.function.Function)" }
+@apidoc[Source.mapConcat](Source) {
scala="#mapConcat[T](f:Out=>IterableOnce[T]):FlowOps.this.Repr[T]"
java="#mapConcat(org.apache.pekko.japi.function.Function)" }
+@apidoc[Flow.mapConcat](Flow) {
scala="#mapConcat[T](f:Out=>IterableOnce[T]):FlowOps.this.Repr[T]"
java="#mapConcat(org.apache.pekko.japi.function.Function)" }
## Description
diff --git
a/docs/src/main/paradox/stream/operators/Source-or-Flow/mapWithResource.md
b/docs/src/main/paradox/stream/operators/Source-or-Flow/mapWithResource.md
index d18bb0b593..baafe16f31 100644
--- a/docs/src/main/paradox/stream/operators/Source-or-Flow/mapWithResource.md
+++ b/docs/src/main/paradox/stream/operators/Source-or-Flow/mapWithResource.md
@@ -6,12 +6,12 @@ Map elements with the help of a resource that can be opened,
transform each elem
## Signature
-@apidoc[Flow.mapWithResource](Flow) {
scala="#mapWithResource[S,T](create:()=%3ES)(f:(S,Out)=%3ET,close:S=%3EOption[T]):Repr[T]"
java="#mapWithResource(org.apache.pekko.japi.function.Creator,org.apache.pekko.japi.function.Function2,org.apache.pekko.japi.function.Function)"
}
+@apidoc[Flow.mapWithResource](Flow) {
scala="#mapWithResource[R,T](create:()=%3ER)(f:(R,Out)=%3ET,close:R=%3EOption[T]):Repr[T]"
java="#mapWithResource(org.apache.pekko.japi.function.Creator,org.apache.pekko.japi.function.Function2,org.apache.pekko.japi.function.Function)"
}
1. `create`: Open or Create the resource.
2. `f`: Transform each element inputs with the help of resource.
3. `close`: Close the resource, invoked on end of stream or if the stream
fails, optionally outputting a last element.
-@apidoc[Flow.mapWithResource](Flow) {
scala="#mapWithResource[S%3C:AutoCloseable,T](create:()=%3ES,f:(S,Out)=%3ET):Repr[T]"
java="#mapWithResource(org.apache.pekko.japi.function.Creator,org.apache.pekko.japi.function.Function2)"
}
+@apidoc[Flow.mapWithResource](Flow) {
scala="#mapWithResource[R%3C:AutoCloseable,T](create:()=%3ER,f:(R,Out)=%3ET):Repr[T]"
java="#mapWithResource(org.apache.pekko.japi.function.Creator,org.apache.pekko.japi.function.Function2)"
}
1. `create`: Open or Create the autocloseable resource.
2. `f`: Transform each element inputs with the help of resource.
diff --git
a/docs/src/main/paradox/stream/operators/Source-or-Flow/materializeIntoSource.md
b/docs/src/main/paradox/stream/operators/Source-or-Flow/materializeIntoSource.md
index 7c43e4d3fb..97933b22bc 100644
---
a/docs/src/main/paradox/stream/operators/Source-or-Flow/materializeIntoSource.md
+++
b/docs/src/main/paradox/stream/operators/Source-or-Flow/materializeIntoSource.md
@@ -7,7 +7,7 @@ Materializes this Graph, immediately returning its materialized
values into a ne
## Signature
@apidoc[Source.materializeIntoSource](Source) {
scala="#materializeIntoSource[Mat2](sink:org.apache.pekko.stream.Graph[org.apache.pekko.stream.SinkShape[Out],scala.concurrent.Future[Mat2]]):org.apache.pekko.stream.scaladsl.Source[Mat2,scala.concurrent.Future[org.apache.pekko.NotUsed]]"
java="#materializeIntoSource(org.apache.pekko.stream.Graph)" }
-@apidoc[Flow.materializeIntoSource](Flow) {
scala="#materializeIntoSource[Mat1,Mat2](source:org.apache.pekko.stream.Graph[org.apache.pekko.stream.SourceShape[In],Mat1],sink:org.apache.pekko.stream.Graph[org.apache.pekko.stream.SinkShape[Out],scala.concurrent.Future[Mat2]]):org.apache.pekko.stream.scaladsl.Source[Mat2,scala.concurrent.Future[org.apache.pekko.NotUsed]]"
java="#materialize(org.apache.pekko.actor.ClassicActorSystemProvider)"
java="#materializeIntoSource(org.apache.pekko.stre [...]
+@apidoc[Flow.materializeIntoSource](Flow) {
scala="#materializeIntoSource[Mat1,Mat2](source:org.apache.pekko.stream.Graph[org.apache.pekko.stream.SourceShape[In],Mat1],sink:org.apache.pekko.stream.Graph[org.apache.pekko.stream.SinkShape[Out],scala.concurrent.Future[Mat2]]):org.apache.pekko.stream.scaladsl.Source[Mat2,scala.concurrent.Future[org.apache.pekko.NotUsed]]"
java="#materializeIntoSource(org.apache.pekko.stream.Graph,org.apache.pekko.stream.Graph)"
}
## Description
diff --git a/docs/src/main/paradox/stream/operators/Source-or-Flow/monitor.md
b/docs/src/main/paradox/stream/operators/Source-or-Flow/monitor.md
index 3a133af925..1ac5047035 100644
--- a/docs/src/main/paradox/stream/operators/Source-or-Flow/monitor.md
+++ b/docs/src/main/paradox/stream/operators/Source-or-Flow/monitor.md
@@ -6,8 +6,10 @@ Materializes to a `FlowMonitor` that monitors messages flowing
through or comple
## Signature
-@apidoc[Source.monitor](Source) {
scala="#monitor[Mat2]()(combine:(Mat,org.apache.pekko.stream.FlowMonitor[Out])=>Mat2):FlowOpsMat.this.ReprMat[Out,Mat2]"
java="#monitor()" }
-@apidoc[Flow.monitor](Flow) {
scala="#monitor[Mat2]()(combine:(Mat,org.apache.pekko.stream.FlowMonitor[Out])=>Mat2):FlowOpsMat.this.ReprMat[Out,Mat2]"
java="#monitor()" }
+@apidoc[Source.monitor](Source) {
scala="#monitor:FlowOpsMat.this.ReprMat[Out,(Mat,org.apache.pekko.stream.FlowMonitor[Out])]"
java="#monitor()" }
+@apidoc[Flow.monitor](Flow) {
scala="#monitor:FlowOpsMat.this.ReprMat[Out,(Mat,org.apache.pekko.stream.FlowMonitor[Out])]"
java="#monitor()" }
+@apidoc[Source.monitorMat](Source) {
scala="#monitorMat[Mat2](combine:(Mat,org.apache.pekko.stream.FlowMonitor[Out])=>Mat2):FlowOpsMat.this.ReprMat[Out,Mat2]"
java="#monitorMat(org.apache.pekko.japi.function.Function2)" }
+@apidoc[Flow.monitorMat](Flow) {
scala="#monitorMat[Mat2](combine:(Mat,org.apache.pekko.stream.FlowMonitor[Out])=>Mat2):FlowOpsMat.this.ReprMat[Out,Mat2]"
java="#monitorMat(org.apache.pekko.japi.function.Function2)" }
## Description
diff --git
a/docs/src/main/paradox/stream/operators/Source-or-Flow/onErrorContinue.md
b/docs/src/main/paradox/stream/operators/Source-or-Flow/onErrorContinue.md
index 66b7e3cfd9..8fb257e534 100644
--- a/docs/src/main/paradox/stream/operators/Source-or-Flow/onErrorContinue.md
+++ b/docs/src/main/paradox/stream/operators/Source-or-Flow/onErrorContinue.md
@@ -6,8 +6,8 @@ Continues the stream when an upstream error occurs.
## Signature
-@apidoc[Source.onErrorContinue](Source) {
scala="#onErrorContinue(errorConsumer%3A%20Function%5BThrowable%2C%20Unit%5D)%3AFlowOps.this.Repr%5BT%5D"
java="#onErrorContinue(org.apache.pekko.japi.function.Procedure)" }
-@apidoc[Flow.onErrorContinue](Flow) {
scala="#onErrorContinue%5BT%20%3C%3A%20Throwable%5D(errorConsumer%3A%20Function%5BThrowable%2C%20Unit%5D)(implicit%20tag%3A%20ClassTag%5BT%5D)%3AFlowOps.this.Repr%5BT%5D"
java="#onErrorContinue(java.lang.Class,org.apache.pekko.japi.function.Procedure)"
}
+@apidoc[Source.onErrorContinue](Source) {
scala="#onErrorContinue[T%3C:Throwable](errorConsumer:Throwable=%3EUnit)(implicittag:scala.reflect.ClassTag[T]):FlowOps.this.Repr[Out]"
java="#onErrorContinue(org.apache.pekko.japi.function.Procedure)" }
+@apidoc[Flow.onErrorContinue](Flow) {
scala="#onErrorContinue[T%3C:Throwable](errorConsumer:Throwable=%3EUnit)(implicittag:scala.reflect.ClassTag[T]):FlowOps.this.Repr[Out]"
java="#onErrorContinue(java.lang.Class,org.apache.pekko.japi.function.Procedure)"
}
## Description
diff --git
a/docs/src/main/paradox/stream/operators/Source-or-Flow/preMaterialize.md
b/docs/src/main/paradox/stream/operators/Source-or-Flow/preMaterialize.md
index 9ba70713f9..44f39f80a4 100644
--- a/docs/src/main/paradox/stream/operators/Source-or-Flow/preMaterialize.md
+++ b/docs/src/main/paradox/stream/operators/Source-or-Flow/preMaterialize.md
@@ -7,7 +7,7 @@ Materializes this Graph, immediately returning (1) its
materialized value, and (
## Signature
@apidoc[Source.preMaterialize](Source) {
scala="#preMaterialize()(implicitmaterializer:org.apache.pekko.stream.Materializer):(Mat,org.apache.pekko.stream.scaladsl.Source[Out,org.apache.pekko.NotUsed])"
java="#preMaterialize(org.apache.pekko.actor.ClassicActorSystemProvider)"
java="#preMaterialize(org.apache.pekko.stream.Materializer)" }
-@apidoc[Flow.preMaterialize](Flow) {
scala="#preMaterialize()(implicitmaterializer:org.apache.pekko.stream.Materializer):(Mat,org.apache.pekko.stream.scaladsl.Flow[Int,Out,org.apache.pekko.NotUsed])"
java="#preMaterialize(org.apache.pekko.actor.ClassicActorSystemProvider)"
java="#preMaterialize(org.apache.pekko.stream.Materializer)" }
+@apidoc[Flow.preMaterialize](Flow) {
scala="#preMaterialize()(implicitmaterializer:org.apache.pekko.stream.Materializer):(Mat,org.apache.pekko.stream.scaladsl.Flow[In,Out,org.apache.pekko.NotUsed])"
java="#preMaterialize(org.apache.pekko.actor.ClassicActorSystemProvider)"
java="#preMaterialize(org.apache.pekko.stream.Materializer)" }
## Description
diff --git a/docs/src/main/paradox/stream/operators/Source-or-Flow/prepend.md
b/docs/src/main/paradox/stream/operators/Source-or-Flow/prepend.md
index 8e79912a4f..a5f66679df 100644
--- a/docs/src/main/paradox/stream/operators/Source-or-Flow/prepend.md
+++ b/docs/src/main/paradox/stream/operators/Source-or-Flow/prepend.md
@@ -14,15 +14,6 @@ Prepends the given source to the flow, consuming it until
completion before the
Prepends the given source to the flow, consuming it until completion before
the original source is consumed.
-@@@ note
-
- The `prepend` operator is for backwards compatibility reasons "detached"
and will eagerly
- demand an element from both upstreams when the stream is materialized and
will then have a
- one element buffer for each of the upstreams, this is most often not what
you want, instead
- use @ref(prependLazy)[prependLazy.md]
-
-@@@
-
If materialized values needs to be collected `prependMat` is available.
@@@ note
@@ -30,7 +21,7 @@ If materialized values needs to be collected `prependMat` is
available.
The `prepend` operator is for backwards compatibility reasons "detached" and
will eagerly
demand an element from both upstreams when the stream is materialized and will
then have a
one element buffer for each of the upstreams, this is not always what you
want, if not,
-use @ref(prependLazy)[prependLazy.md]
+use @ref[prependLazy](prependLazy.md)
@@@
diff --git
a/docs/src/main/paradox/stream/operators/Source-or-Flow/prependLazy.md
b/docs/src/main/paradox/stream/operators/Source-or-Flow/prependLazy.md
index 0e3bb86575..d08f1e759e 100644
--- a/docs/src/main/paradox/stream/operators/Source-or-Flow/prependLazy.md
+++ b/docs/src/main/paradox/stream/operators/Source-or-Flow/prependLazy.md
@@ -6,15 +6,15 @@ Prepends the given source to the flow, consuming it until
completion before the
## Signature
-@apidoc[Source.prepend](Source) {
scala="#prepend[U>:Out,Mat2](that:org.apache.pekko.stream.Graph[org.apache.pekko.stream.SourceShape[U],Mat2]):FlowOps.this.Repr[U]"
java="#prepend(org.apache.pekko.stream.Graph)" }
-@apidoc[Flow.prepend](Flow) {
scala="#prepend[U>:Out,Mat2](that:org.apache.pekko.stream.Graph[org.apache.pekko.stream.SourceShape[U],Mat2]):FlowOps.this.Repr[U]"
java="#prepend(org.apache.pekko.stream.Graph)" }
+@apidoc[Source.prependLazy](Source) {
scala="#prependLazy[U>:Out,Mat2](that:org.apache.pekko.stream.Graph[org.apache.pekko.stream.SourceShape[U],Mat2]):FlowOps.this.Repr[U]"
java="#prependLazy(org.apache.pekko.stream.Graph)" }
+@apidoc[Flow.prependLazy](Flow) {
scala="#prependLazy[U>:Out,Mat2](that:org.apache.pekko.stream.Graph[org.apache.pekko.stream.SourceShape[U],Mat2]):FlowOps.this.Repr[U]"
java="#prependLazy(org.apache.pekko.stream.Graph)" }
## Description
Prepends the given source to the flow, consuming it until completion before
the original source is consumed.
-Both streams will be materialized together, however, the original stream will
be pulled for the first time only after the prepended upstream was completed.
(In contrast, @ref(prepend)[prepend.md], introduces single-element buffers
after both, original and given sources so that the original source is also
pulled once immediately.)
+Both streams will be materialized together, however, the original stream will
be pulled for the first time only after the prepended upstream was completed.
(In contrast, @ref[prepend](prepend.md), introduces single-element buffers
after both, original and given sources so that the original source is also
pulled once immediately.)
If materialized values needs to be collected `prependLazyMat` is available.
diff --git
a/docs/src/main/paradox/stream/operators/Source-or-Flow/statefulMapConcat.md
b/docs/src/main/paradox/stream/operators/Source-or-Flow/statefulMapConcat.md
index 20185d480c..4e5f682b92 100644
--- a/docs/src/main/paradox/stream/operators/Source-or-Flow/statefulMapConcat.md
+++ b/docs/src/main/paradox/stream/operators/Source-or-Flow/statefulMapConcat.md
@@ -15,7 +15,7 @@ The `statefulMapConcat` operator doesn't handle upstream's
completion signal sin
## Signature
-@apidoc[Flow.statefulMapConcat](Flow) {
scala="#statefulMapConcat[T](f:()=>Out=>scala.collection.immutable.Iterable[T]):FlowOps.this.Repr[T]"
java="#statefulMapConcat(org.apache.pekko.japi.function.Creator)" }
+@apidoc[Flow.statefulMapConcat](Flow) {
scala="#statefulMapConcat[T](f:()=>Out=>IterableOnce[T]):FlowOps.this.Repr[T]"
java="#statefulMapConcat(org.apache.pekko.japi.function.Creator)" }
## Description
diff --git a/docs/src/main/paradox/stream/operators/Source-or-Flow/takeUntil.md
b/docs/src/main/paradox/stream/operators/Source-or-Flow/takeUntil.md
index b42d81033f..04597895d0 100644
--- a/docs/src/main/paradox/stream/operators/Source-or-Flow/takeUntil.md
+++ b/docs/src/main/paradox/stream/operators/Source-or-Flow/takeUntil.md
@@ -6,10 +6,8 @@ Pass elements downstream until the predicate function returns
true. The first el
## Signature
-@apidoc[Source.takeUntil](Source) {
scala="#takeUntil(p:Out=>Boolean):FlowOps.this.Repr[Out]" java="#takeUntil(
-org.apache.pekko.japi.function.Predicate)" }
-@apidoc[Flow.takeUntil](Flow) {
scala="#takeUntil(p:Out=>Boolean):FlowOps.this.Repr[Out]" java="#takeUntil(
-org.apache.pekko.japi.function.Predicate)" }
+@apidoc[Source.takeUntil](Source) {
scala="#takeUntil(p:Out=>Boolean):FlowOps.this.Repr[Out]"
java="#takeUntil(org.apache.pekko.japi.function.Predicate)" }
+@apidoc[Flow.takeUntil](Flow) {
scala="#takeUntil(p:Out=>Boolean):FlowOps.this.Repr[Out]"
java="#takeUntil(org.apache.pekko.japi.function.Predicate)" }
## Description
diff --git
a/docs/src/main/paradox/stream/operators/Source-or-Flow/watchTermination.md
b/docs/src/main/paradox/stream/operators/Source-or-Flow/watchTermination.md
index 18c40422fe..64f89eed70 100644
--- a/docs/src/main/paradox/stream/operators/Source-or-Flow/watchTermination.md
+++ b/docs/src/main/paradox/stream/operators/Source-or-Flow/watchTermination.md
@@ -6,8 +6,8 @@ Materializes to a @scala[`Future`] @java[`CompletionStage`]
that will be complet
## Signature
-@apidoc[Source.watchTermination](Source) {
scala="#watchTermination[Mat2]()(matF:(Mat,scala.concurrent.Future[org.apache.pekko.Done])=>Mat2):FlowOpsMat.this.ReprMat[Out,Mat2]"
java="#watchTermination(org.apache.pekko.japi.function.Function2)" }
-@apidoc[Flow.watchTermination](Flow) {
scala="#watchTermination[Mat2]()(matF:(Mat,scala.concurrent.Future[org.apache.pekko.Done])=>Mat2):FlowOpsMat.this.ReprMat[Out,Mat2]"
java="#watchTermination(org.apache.pekko.japi.function.Function2)" }
+@apidoc[Source.watchTermination](Source) {
scala="#watchTermination[Mat2](matF:(Mat,scala.concurrent.Future[org.apache.pekko.Done])=>Mat2):FlowOpsMat.this.ReprMat[Out,Mat2]"
java="#watchTermination(org.apache.pekko.japi.function.Function2)" }
+@apidoc[Flow.watchTermination](Flow) {
scala="#watchTermination[Mat2](matF:(Mat,scala.concurrent.Future[org.apache.pekko.Done])=>Mat2):FlowOpsMat.this.ReprMat[Out,Mat2]"
java="#watchTermination(org.apache.pekko.japi.function.Function2)" }
## Description
diff --git
a/docs/src/main/paradox/stream/operators/StreamConverters/fromOutputStream.md
b/docs/src/main/paradox/stream/operators/StreamConverters/fromOutputStream.md
index 21aec2ec9b..5bcbcc9d7a 100644
---
a/docs/src/main/paradox/stream/operators/StreamConverters/fromOutputStream.md
+++
b/docs/src/main/paradox/stream/operators/StreamConverters/fromOutputStream.md
@@ -6,7 +6,7 @@ Create a sink that wraps an `OutputStream`.
## Signature
-@apidoc[StreamConverters.fromOutputStream](StreamConverters$) {
scala="#fromOutputStream(out:()=%3Cjava.io.OutputStream,autoFlush:Boolean):org.apache.pekko.stream.scaladsl.Sink[org.apache.pekko.util.ByteString,scala.concurrent.Future[org.apache.pekko.stream.IOResult]]"
java="#fromOutputStream(org.apache.pekko.japi.function.Creator)" }
+@apidoc[StreamConverters.fromOutputStream](StreamConverters$) {
scala="#fromOutputStream(out:()=%3Ejava.io.OutputStream,autoFlush:Boolean):org.apache.pekko.stream.scaladsl.Sink[org.apache.pekko.util.ByteString,scala.concurrent.Future[org.apache.pekko.stream.IOResult]]"
java="#fromOutputStream(org.apache.pekko.japi.function.Creator)" }
## Description
diff --git a/docs/src/main/paradox/stream/stream-customize.md
b/docs/src/main/paradox/stream/stream-customize.md
index e24ee42f45..99b7832889 100644
--- a/docs/src/main/paradox/stream/stream-customize.md
+++ b/docs/src/main/paradox/stream/stream-customize.md
@@ -87,7 +87,7 @@ Similarly, to create a custom @apidoc[stream.*.Sink] one can
register a subclass
The @apidoc[onPush()](stage.InHandler) {scala="#onPush():Unit"
java="#onPush()"} callback is used to signal the handler a new element has been
pushed to the operator,
and can hence be grabbed and used. `onPush()` can be overridden to provide
custom behavior.
Please note, most Sinks would need to request upstream elements as soon as
they are created: this can be
-done by calling @apidoc[pull(inlet)](stage.OutHandler) {scala="#onPull():Unit"
java="#onPull()"} in the @apidoc[preStart()](stage.GraphStageLogic)
{scala="#preStart():Unit" java="#preStart()"} callback.
+done by calling @apidoc[pull(inlet)](stage.GraphStageLogic)
{scala="#pull[T](in:org.apache.pekko.stream.Inlet[T]):Unit"
java="#pull(org.apache.pekko.stream.Inlet)"} in the
@apidoc[preStart()](stage.GraphStageLogic) {scala="#preStart():Unit"
java="#preStart()"} callback.
Scala
: @@snip
[GraphStageDocSpec.scala](/docs/src/test/scala/docs/stream/GraphStageDocSpec.scala)
{ #custom-sink-example }
diff --git a/docs/src/main/paradox/stream/stream-rate.md
b/docs/src/main/paradox/stream/stream-rate.md
index 46ea86fa1b..77b681f4a8 100644
--- a/docs/src/main/paradox/stream/stream-rate.md
+++ b/docs/src/main/paradox/stream/stream-rate.md
@@ -23,7 +23,7 @@ buffers in a stream. In this chapter we cover how buffers are
used in Pekko Stre
In this section we will discuss internal buffers that are introduced as an
optimization when using asynchronous operators.
-To run an operator asynchronously it has to be marked explicitly as such using
the
@scala[@scaladoc[`.async`](pekko.stream.Graph#shape:S)]@java[@javadoc[`.async()`](pekko.stream.Graph#async--)]
method. Being run
+To run an operator asynchronously it has to be marked explicitly as such using
the
@scala[@scaladoc[`.async`](pekko.stream.Graph#async:org.apache.pekko.stream.Graph[S,M])]@java[@javadoc[`.async()`](pekko.stream.Graph#async--)]
method. Being run
asynchronously means that an operator, after handing out an element to its
downstream consumer is able to immediately
process the next message. To demonstrate what we mean by this, let's take a
look at the following example:
diff --git a/docs/src/main/paradox/stream/stream-refs.md
b/docs/src/main/paradox/stream/stream-refs.md
index 1f3e5d795c..071de31f73 100644
--- a/docs/src/main/paradox/stream/stream-refs.md
+++ b/docs/src/main/paradox/stream/stream-refs.md
@@ -112,7 +112,7 @@ The process of preparing and running a `SourceRef`-powered
distributed stream is
### Sink Refs - offering to receive streaming data from a remote system
-The dual of
@scala[@scaladoc[`SourceRef`](pekko.stream.SinkRef)]@java[@javadoc[`SourceRef`](pekko.stream.SinkRef)]s.
+The dual of
@scala[@scaladoc[`SourceRef`](pekko.stream.SourceRef)]@java[@javadoc[`SourceRef`](pekko.stream.SourceRef)]s.
They can be used to offer the other side the capability to
send to the *origin* side data in a streaming, flow-controlled fashion. The
origin here allocates a `Sink`,
diff --git a/docs/src/main/paradox/typed/actor-discovery.md
b/docs/src/main/paradox/typed/actor-discovery.md
index 555b2b5b6b..05cac6493a 100644
--- a/docs/src/main/paradox/typed/actor-discovery.md
+++ b/docs/src/main/paradox/typed/actor-discovery.md
@@ -115,7 +115,7 @@ will eventually reach the same set of actors per
`ServiceKey`.
`Subscription`s and `Find` queries to a clustered receptionist will keep track
of cluster reachability and only list
registered actors that are reachable. The full set of actors, including
unreachable ones, is available through
-@scala[@scaladoc[Listing.allServiceInstances](pekko.typed.receptionist.Receptionist.Listing#allServiceInstances[T](key:org.apache.pekko.actor.typed.receptionist.ServiceKey[T]):Set[org.apache.pekko.actor.typed.ActorRef[T]])]@java[@javadoc[Listing.getAllServiceInstances](pekko.actor.typed.receptionist.Receptionist.Listing#getAllServiceInstances(org.apache.pekko.actor.typed.receptionist.ServiceKey))].
+@scala[@scaladoc[Listing.allServiceInstances](pekko.actor.typed.receptionist.Receptionist.Listing#allServiceInstances[T](key:org.apache.pekko.actor.typed.receptionist.ServiceKey[T]):Set[org.apache.pekko.actor.typed.ActorRef[T]])]@java[@javadoc[Listing.getAllServiceInstances](pekko.actor.typed.receptionist.Receptionist.Listing#getAllServiceInstances(org.apache.pekko.actor.typed.receptionist.ServiceKey))].
One important difference from local only receptions are the serialization
concerns, all messages sent to and back from
an actor on another node must be serializable, see
@ref:[serialization](../serialization.md).
diff --git a/docs/src/main/paradox/typed/durable-state/persistence.md
b/docs/src/main/paradox/typed/durable-state/persistence.md
index 1ee5813eb3..a61a4a6cb4 100644
--- a/docs/src/main/paradox/typed/durable-state/persistence.md
+++ b/docs/src/main/paradox/typed/durable-state/persistence.md
@@ -238,7 +238,7 @@ Scala
: @@snip
[DurableStatePersistentBehaviorCompileOnly.scala](/persistence-typed/src/test/scala/docs/org/apache/pekko/persistence/typed/DurableStatePersistentBehaviorCompileOnly.scala)
{ #actor-context }
Java
-: @@snip
[BasicPersistentBehaviorTest.java](/persistence-typed/src/test/java/jdocs/org/apache/pekko/persistence/typed/DurableStatePersistentBehaviorTest.java)
{ #actor-context }
+: @@snip
[DurableStatePersistentBehaviorTest.java](/persistence-typed/src/test/java/jdocs/org/apache/pekko/persistence/typed/DurableStatePersistentBehaviorTest.java)
{ #actor-context }
## Changing Behavior
@@ -397,7 +397,7 @@ other behaviors such as `Behaviors.setup` in order to
access the `ActorContext`
to access the logger from within the `ActorContext` to log for debugging the
`commandHandler`.
Scala
-: @@snip
[DurableStatePersistentActorCompileOnly.scala](/persistence-typed/src/test/scala/docs/org/apache/pekko/persistence/typed/DurableStatePersistentBehaviorCompileOnly.scala)
{ #wrapPersistentBehavior }
+: @@snip
[DurableStatePersistentBehaviorCompileOnly.scala](/persistence-typed/src/test/scala/docs/org/apache/pekko/persistence/typed/DurableStatePersistentBehaviorCompileOnly.scala)
{ #wrapPersistentBehavior }
Java
: @@snip
[DurableStatePersistentBehaviorTest.java](/persistence-typed/src/test/java/jdocs/org/apache/pekko/persistence/typed/DurableStatePersistentBehaviorTest.java)
{ #wrapPersistentBehavior }
diff --git a/docs/src/main/paradox/typed/guide/tutorial_3.md
b/docs/src/main/paradox/typed/guide/tutorial_3.md
index becc1a7eea..672e287d81 100644
--- a/docs/src/main/paradox/typed/guide/tutorial_3.md
+++ b/docs/src/main/paradox/typed/guide/tutorial_3.md
@@ -128,7 +128,7 @@ Scala
: @@snip
[DeviceInProgress.scala](/docs/src/test/scala/typed/tutorial_3/DeviceInProgress.scala)
{ #device-with-read }
Java
-: @@snip
[DeviceInProgress2.java](/docs/src/test/java/jdocs/typed/tutorial_3/inprogress2/Device.java)
{ #device-with-read }
+: @@snip
[Device.java](/docs/src/test/java/jdocs/typed/tutorial_3/inprogress2/Device.java)
{ #device-with-read }
Note in the code that:
@@ -165,7 +165,7 @@ However, this approach does not take into account that the
sender of the record
Just like in the case of temperature queries and responses, it is also a good
idea to include an ID field to provide maximum flexibility.
Scala
-: @@snip
[DeviceInProgress.scala](/docs/src/test/scala/typed/tutorial_3/Device.scala) {
#write-protocol }
+: @@snip [Device.scala](/docs/src/test/scala/typed/tutorial_3/Device.scala)
{ #write-protocol }
Java
: @@snip
[Device.java](/docs/src/test/java/jdocs/typed/tutorial_3/Device.java) {
#write-protocol }
@@ -182,10 +182,10 @@ Java
We should also write a new test case now, exercising both the read/query and
write/record functionality together:
-Scala:
+Scala
: @@snip
[DeviceSpec.scala](/docs/src/test/scala/typed/tutorial_3/DeviceSpec.scala) {
#device-write-read-test }
-Java:
+Java
: @@snip
[DeviceTest.java](/docs/src/test/java/jdocs/typed/tutorial_3/DeviceTest.java) {
#device-write-read-test }
## What's Next?
diff --git a/docs/src/main/paradox/typed/interaction-patterns.md
b/docs/src/main/paradox/typed/interaction-patterns.md
index 535031a880..688020ea37 100644
--- a/docs/src/main/paradox/typed/interaction-patterns.md
+++ b/docs/src/main/paradox/typed/interaction-patterns.md
@@ -487,7 +487,7 @@ This can be used with any type of
@apidoc[actor.typed.Behavior], including @apid
* Both periodic and single message timers are supported.
* The `TimerScheduler` is mutable in itself, because it performs and manages
the side effects of registering the scheduled tasks.
* The `TimerScheduler` is bound to the lifecycle of the actor that owns it and
is cancelled automatically when the actor is stopped.
-* `Behaviors.withTimers` can also be used inside
@apidoc[Behaviors.supervise](typed.*.Behaviors$)
{scala="#supervise[T](wrapped:actor.typed.Behavior[T]):org.apache.pekko.actor.typed.scaladsl.Behaviors.Supervise[T]"
java="#supervise(org.apache.pekko.actor.typed.Behavior)"} and it will
automatically cancel the started timers correctly when the actor is restarted,
so that the new incarnation will not receive scheduled messages from a previous
incarnation.
+* `Behaviors.withTimers` can also be used inside
@apidoc[Behaviors.supervise](typed.*.Behaviors$)
{scala="#supervise[T](wrapped:org.apache.pekko.actor.typed.Behavior[T]):org.apache.pekko.actor.typed.scaladsl.Behaviors.Supervise[T]"
java="#supervise(org.apache.pekko.actor.typed.Behavior)"} and it will
automatically cancel the started timers correctly when the actor is restarted,
so that the new incarnation will not receive scheduled messages from a previous
incarnation.
### Schedule periodically
diff --git a/docs/src/main/paradox/typed/persistence.md
b/docs/src/main/paradox/typed/persistence.md
index 172067f0bb..aca4d80e56 100644
--- a/docs/src/main/paradox/typed/persistence.md
+++ b/docs/src/main/paradox/typed/persistence.md
@@ -244,7 +244,7 @@ Scala
Java
: @@snip
[BasicPersistentBehaviorTest.java](/persistence-typed/src/test/java/jdocs/org/apache/pekko/persistence/typed/BasicPersistentBehaviorTest.java)
{ #effects }
-Most of the time this will be done with the
@apidoc[thenRun](typed.(scaladsl|javadsl).EffectBuilder)
{scala="#thenRun(callback:State=%3EUnit):org.apache.pekko.persistence.typed.scaladsl.EffectBuilder[Event,State]"
java="#thenRun(function.Effect)"} method on the `Effect` above. You can factor
out
+Most of the time this will be done with the
@apidoc[thenRun](typed.(scaladsl|javadsl).EffectBuilder)
{scala="#thenRun(callback:State=%3EUnit):org.apache.pekko.persistence.typed.scaladsl.EffectBuilder[Event,State]"
java="#thenRun(org.apache.pekko.japi.function.Effect)"} method on the `Effect`
above. You can factor out
common side effects into functions and reuse for several commands. For example:
Scala
@@ -384,7 +384,7 @@ when accepted you want a confirmation when the events have
been successfully sto
Therefore you typically include a
@apidoc[typed.ActorRef]@scala[`[ReplyMessageType]`]@java[`<ReplyMessageType>`].
If the
command can either have a successful response or a validation error returned,
the generic response type @apidoc[pattern.StatusReply]@scala[`[ReplyType]`]
@java[`<ReplyType>`] can be used. If the successful reply does not contain a
value but is more of an acknowledgement
-a pre defined
@scala[@scaladoc[StatusReply.Ack](pekko.pattern.StatusReply$#Ack:org.apache.pekko.pattern.StatusReply[org.apache.pekko.Done])]@java[@javadoc[StatusReply.ack()](pekko.pattern.StatusReply$#ack():org.apache.pekko.pattern.StatusReply[org.apache.pekko.Done])]
of type @scala[`StatusReply[Done]`]@java[`StatusReply<Done>`]
+a pre defined
@scala[@scaladoc[StatusReply.Ack](pekko.pattern.StatusReply$#Ack:org.apache.pekko.pattern.StatusReply[org.apache.pekko.Done])]@java[@javadoc[StatusReply.ack()](pekko.pattern.StatusReply#ack())]
of type @scala[`StatusReply[Done]`]@java[`StatusReply<Done>`]
can be used.
After validation errors or after persisting events, using a
@apidoc[thenRun](typed.(scaladsl|javadsl).EffectBuilder)
{scala="#thenRun(callback:State=%3EUnit):org.apache.pekko.persistence.typed.scaladsl.EffectBuilder[Event,State]"
java="#thenRun(org.apache.pekko.japi.function.Effect)"} side effect, the reply
message can
diff --git a/docs/src/main/paradox/typed/replicated-eventsourcing.md
b/docs/src/main/paradox/typed/replicated-eventsourcing.md
index a54d3894e3..e4219e70a0 100644
--- a/docs/src/main/paradox/typed/replicated-eventsourcing.md
+++ b/docs/src/main/paradox/typed/replicated-eventsourcing.md
@@ -234,7 +234,7 @@ There is no built in support for knowing an event has been
replicated to all rep
For some use cases you may need to trigger side effects after consuming
replicated events. For example when an auction has been closed in
all data centers and all bids have been replicated.
-The @api[ReplicationContext] contains the current replica, the origin replica
for the event processes, and if a recovery is running. These can be used to
+The @apidoc[ReplicationContext] contains the current replica, the origin
replica for the event processes, and if a recovery is running. These can be
used to
implement side effects that take place once events are fully replicated. If
the side effect should happen only once then a particular replica can be
designated to do it. The @ref[Auction
example](replicated-eventsourcing-auction.md) uses these techniques.
@@ -402,11 +402,11 @@ More examples can be found in @ref[Replicated Event
Sourcing Examples](./replica
## Journal Support
-For a journal plugin to support replication it needs to store and read
metadata for each event if it is defined in the @apiref[PersistentRepr]
+For a journal plugin to support replication it needs to store and read
metadata for each event if it is defined in the @apidoc[PersistentRepr]
`metadata` field. To attach the metadata after writing it,
`PersistentRepr.withMetadata` is used. The @apidoc[JournalSpec] in the
Persistence TCK provides
a capability flag `supportsMetadata` to toggle verification that metadata is
handled correctly.
-For a snapshot plugin to support replication it needs to store and read
metadata for the snapshot if it is defined in the
@apiref[org.apache.pekko.persistence.SnapshotMetadata] `metadata` field.
+For a snapshot plugin to support replication it needs to store and read
metadata for the snapshot if it is defined in the
@apidoc[persistence.SnapshotMetadata] `metadata` field.
To attach the metadata when reading the snapshot the
`org.apache.pekko.persistence.SnapshotMetadata.apply` factory overload taking a
`metadata` parameter is used.
The @apidoc[SnapshotStoreSpec] in the Persistence TCK provides a capability
flag `supportsMetadata` to toggle verification that metadata is handled
correctly.
diff --git a/docs/src/main/paradox/typed/style-guide.md
b/docs/src/main/paradox/typed/style-guide.md
index 1a23d97728..4cc3fa2bea 100644
--- a/docs/src/main/paradox/typed/style-guide.md
+++ b/docs/src/main/paradox/typed/style-guide.md
@@ -271,7 +271,7 @@ Scala
Java
: @@snip
[StyleGuideDocExamples.java](/actor-typed-tests/src/test/java/jdocs/org/apache/pekko/typed/StyleGuideDocExamples.java)
{ #message-protocol }
-Note that the response message hierarchy in this case could be completely
avoided by using the @apiDoc[StatusReply] API
+Note that the response message hierarchy in this case could be completely
avoided by using the @apidoc[StatusReply] API
instead (see @ref[Generic Response
Wrapper](interaction-patterns.md#generic-response-wrapper)).
## Public versus private messages
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]