Class ExtensibleBehavior<T>
- java.lang.Object
-
- org.apache.pekko.actor.typed.Behavior<T>
-
- org.apache.pekko.actor.typed.ExtensibleBehavior<T>
-
- Direct Known Subclasses:
AbstractBehavior,AbstractBehavior,BehaviorImpl.ReceiveBehavior,BehaviorImpl.ReceiveMessageBehavior,BuiltBehavior,Receive
public abstract class ExtensibleBehavior<T> extends Behavior<T>
Extension point for implementing custom behaviors in addition to the existing set of behaviors available through the DSLs inpekko.actor.typed.scaladsl.Behaviorsandpekko.actor.typed.javadsl.BehaviorsNote that behaviors that keep an inner behavior, and intercepts messages for it should not be implemented as an extensible behavior but should instead use the
BehaviorInterceptor
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.pekko.actor.typed.Behavior
Behavior.BehaviorDecorators<Inner>, Behavior.BehaviorDecorators$
-
-
Constructor Summary
Constructors Constructor Description ExtensibleBehavior()
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description abstract Behavior<T>receive(TypedActorContext<T> ctx, T msg)Process an incoming message and return the next behavior.abstract Behavior<T>receiveSignal(TypedActorContext<T> ctx, Signal msg)Process an incomingSignaland return the next behavior.-
Methods inherited from class org.apache.pekko.actor.typed.Behavior
BehaviorDecorators, canonicalize, existsInStack, interpretMessage, interpretSignal, isAlive, isDeferred, isUnhandled, narrow, start, validateAsInitial
-
-
-
-
Method Detail
-
receive
public abstract Behavior<T> receive(TypedActorContext<T> ctx, T msg) throws java.lang.Exception
Process an incoming message and return the next behavior.The returned behavior can in addition to normal behaviors be one of the canned special objects:
* returning
stoppedwill terminate this Behavior * returningsamedesignates to reuse the current Behavior * returningunhandledkeeps the same Behavior and signals that the message was not yet handledCode calling this method should use
Behavior$canonicalizeto replace the special objects with real Behaviors.- Throws:
java.lang.Exception
-
receiveSignal
public abstract Behavior<T> receiveSignal(TypedActorContext<T> ctx, Signal msg) throws java.lang.Exception
Process an incomingSignaland return the next behavior. This means that all lifecycle hooks, ReceiveTimeout, Terminated and Failed messages can initiate a behavior change.The returned behavior can in addition to normal behaviors be one of the canned special objects:
* returning
stoppedwill terminate this Behavior * returningsamedesignates to reuse the current Behavior * returningunhandledkeeps the same Behavior and signals that the message was not yet handledCode calling this method should use
Behavior$canonicalizeto replace the special objects with real Behaviors.- Throws:
java.lang.Exception
-
-