text: Q:
  
  Actor fails to recognize message
  
  I am trying to get more familiar with akka. Currently, I am sending messages in a very easy fashion (the next step being sending an ActorRef). But when I try to send data with a message, my target actor fails to recognize it.
  Here is the code I wrote:
  import akka.actor.Actor
  import akka.actor.Props
  import akka.pattern.gracefulStop
  import scala.concurrent.duration._
  import akka.util._
  import scala.concurrent._
  import java.util.concurrent._
  import scala.Array._
  import akka.actor.ScalaActorRef//for ActorRef
  import scala.concurrent.ExecutionContext.Implicits.global
  
  sealed trait MSG
  case class msgTest(
      content: Int
  ) extends MSG
  
  class a extends Actor {
      def receive = {
          case "start" =>
              println("emit")
          case _      =>
              println("wut?")
          case msgTest(content) =>
              println("content: ?")
      }
  }
  
  object main extends App {
      val system = akka.actor.ActorSystem("mySystem")
      val a = system.actorOf(Props[a], name = "a")
  
      a ! "start"
      a ! msgTest(80085)
      a ! "start"
  }
  
  Here is my ouput:
  [success] Total time: 6 s, completed Aug 12, 2014 3:39:35 PM
  > run
  [info] Running main 
  emit
  wut?
  emit
  
  A:
  
  The order matters in param matching, your default match comes before the actor message you sent:
  def receive = {
      case "start" =>
          println("emit")
      case _      => // <-- here
          println("wut?")
      case msgTest(content) =>
          println("content: ?")
  }
  
  Should be:
  def receive = {
      case "start" =>
          println("emit")
      case msgTest(content) =>
          println("content: ?")
      case _      => // <-- now execute only when every other match fails
          println("wut?")
  }
  
  In the first case when you sent a msgTest the second match is successfull, since _ is a catch all, you most probably always want to keep the catch all at the end.
  
  