Testing if message has a sender

How can I check if a message has a sender other than noSender/deadLetters?

Actor.noSender is simply and alias for null, but on the receiving side sender() is then the deadLetter actor. Hence sender is always unequal to Actor.noSender, even if there is no sender.

The best I’ve come up with is the following test based on the actor path, but I’m not sure that I can rely on this to work in all cases and future changes, Akka cluster etc.

if(sender.path.elements != "deadLetters" :: Nil) ...

I don’t want to reply to messages that have been intentionally sent without a sender, because in my system I am treating undelivered messages as a warning that something is wrong. If the sender is absent, it indicates that the (actual) sender is not interested in a response.

Ok I found the solution:

val hasSender = sender != context.system.deadLetters