Add fail fast checks to prevent null message, see #2800
(cherry picked from commit 5526f9d2a8b01f944ff078ce57f2a03c21649d05) * Added null check in Envelope.apply
This commit is contained in:
parent
b2cd087ac6
commit
0f01ffe3a0
7 changed files with 21 additions and 10 deletions
|
|
@ -193,12 +193,14 @@ private[akka] final class PromiseActorRef private (val provider: ActorRefProvide
|
|||
|
||||
override def !(message: Any)(implicit sender: ActorRef = Actor.noSender): Unit = state match {
|
||||
case Stopped | _: StoppedWithPath ⇒ provider.deadLetters ! message
|
||||
case _ ⇒ if (!(result.tryComplete(
|
||||
message match {
|
||||
case Status.Success(r) ⇒ Success(r)
|
||||
case Status.Failure(f) ⇒ Failure(f)
|
||||
case other ⇒ Success(other)
|
||||
}))) provider.deadLetters ! message
|
||||
case _ ⇒
|
||||
if (message == null) throw new InvalidMessageException("Message is null")
|
||||
if (!(result.tryComplete(
|
||||
message match {
|
||||
case Status.Success(r) ⇒ Success(r)
|
||||
case Status.Failure(f) ⇒ Failure(f)
|
||||
case other ⇒ Success(other)
|
||||
}))) provider.deadLetters ! message
|
||||
}
|
||||
|
||||
override def sendSystemMessage(message: SystemMessage): Unit = message match {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue