trait BaseAmqpProducerStashActor extends Actor with Stash
A trait that extends an AMQP publisher and implements a common pattern where all received messages are stashed until the underlying producer is created and connected.
Mixing in this class requires defining the producerConnected method that should contain all the
logic of publishing to AMQP and can assume all is ready for publishing, as well as defining the
setupAmqp method which should create the producer actor. Another aspect of using
this trait is that instead of using "context.become(newReceive)", one should use
"stashedContextBecome(newReceive)" so that producer disconnected handling behaviour is not lost
while changing context.
- Alphabetic
- By Inheritance
- BaseAmqpProducerStashActor
- Stash
- RequiresMessageQueue
- UnrestrictedStash
- StashSupport
- Actor
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
type
Receive = PartialFunction[Any, Unit]
- Definition Classes
- Actor
Abstract Value Members
-
abstract
def
producerConnected(producer: ActorRef): Receive
Logic for handling AMQP publishing with assurance that everything is correctly created and connected.
Logic for handling AMQP publishing with assurance that everything is correctly created and connected.
- producer
the AMQP producer actor
- returns
the logic handling receive
-
abstract
def
setupAmqp: Future[ActorRef]
Setup AMQP producer initialization and optionally exchange declaration
Setup AMQP producer initialization and optionally exchange declaration
- returns
a future of the producer actorRef, not necessarily fully connected to AMQP
Concrete 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
aroundPostRestart(reason: Throwable): Unit
- Attributes
- protected[akka]
- Definition Classes
- Actor
- Annotations
- @InternalApi()
-
def
aroundPostStop(): Unit
- Attributes
- protected[akka]
- Definition Classes
- Actor
- Annotations
- @InternalApi()
-
def
aroundPreRestart(reason: Throwable, message: Option[Any]): Unit
- Attributes
- protected[akka]
- Definition Classes
- Actor
- Annotations
- @InternalApi()
-
def
aroundPreStart(): Unit
- Attributes
- protected[akka]
- Definition Classes
- Actor
- Annotations
- @InternalApi()
-
def
aroundReceive(receive: akka.actor.Actor.Receive, msg: Any): Unit
- Attributes
- protected[akka]
- Definition Classes
- Actor
- Annotations
- @InternalApi()
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
implicit
val
context: ActorContext
- Definition Classes
- Actor
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
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()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
postRestart(reason: Throwable): Unit
- Definition Classes
- Actor
- Annotations
- @throws( classOf[java.lang.Exception] )
-
def
postStop(): Unit
- Definition Classes
- UnrestrictedStash → Actor
-
def
preRestart(reason: Throwable, message: Option[Any]): Unit
- Definition Classes
- UnrestrictedStash → Actor
-
def
preStart(): Unit
- Definition Classes
- BaseAmqpProducerStashActor → Actor
-
final
def
receive: Receive
- Definition Classes
- BaseAmqpProducerStashActor → Actor
-
implicit final
val
self: ActorRef
- Definition Classes
- Actor
-
final
def
sender(): ActorRef
- Definition Classes
- Actor
-
def
stash(): Unit
- Definition Classes
- StashSupport
-
def
stashedContextBecome(producer: ActorRef)(newContext: Receive): Unit
Method for changing actor context while keeping necessary handling control behaviour.
Method for changing actor context while keeping necessary handling control behaviour.
- producer
the AMQP producer actor
- newContext
the new context to change
-
def
supervisorStrategy: SupervisorStrategy
- Definition Classes
- Actor
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
unhandled(message: Any): Unit
- Definition Classes
- Actor
-
def
unstashAll(): Unit
- Definition Classes
- StashSupport
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )