title: "Dead Letters encountered" error while running AKKA remote actors
body: <p>I am trying to run remote actors using AKKA, on my localhost, but each time I get this error. It says dead letters encountered. I searched on internet and found out that this error comes when actors receive a message after its thread is stopped. So I am looking for a way to keep the actors alive on remote machines. I am using akka actors and not the scala actors.</p>
  
  <pre><code>[INFO] [09/16/2013 18:44:51.426] [run-main] [Remoting] Starting remoting
  
  [INFO] [09/16/2013 18:44:51.688] [run-main] [Remoting] Remoting started; listening on      addresses :[akka.tcp://actorSystem1@localhost:2209]
  
  [INFO] [09/16/2013 18:44:51.759] [actorSystem2-akka.actor.default-dispatcher-5] [akka://actorSystem2/deadLetters] Message [java.lang.String] from 
  
  Actor[akka://actorSystem2/deadLetters] to Actor[akka://actorSystem2/deadLetters] was not delivered. [1] **dead letters encountered**. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.   
  </code></pre>
  
  <p>Following is the code.</p>
  
  <pre><code>import akka.actor.{Actor, Props, ActorSystem}
  import com.typesafe.config.ConfigFactory
  import akka.remote._
  
  object MyApp extends App {
   val actorSystem1 = ActorSystem("actorSystem1", ConfigFactory.parseString("""
      akka {
         actor {
             provider = "akka.remote.RemoteActorRefProvider"
               }
         remote {
             transport = ["akka.remote.netty.tcp"]
         netty.tcp {
             hostname = "localhost"
             port = 2209
                   }
               }
          }
     """))
  
  
    val actorSystem2 = ActorSystem("actorSystem2")
  
  
  actorSystem1.actorOf(Props(new Actor {
  def receive = {
    case x: String =&gt;
      Thread.sleep(1000)
      println("RECEIVED MESSAGE: " + x)
                 } }), "simplisticActor")
  
  
  
      val remoteActor = actorSystem2.actorFor("akka://actorSystem1@localhost:2209/user/simplisticActor")
  
    remoteActor ! "TEST 1"
    remoteActor ! "TEST 2"
  
  
  
    Thread.sleep(1000)
  
    actorSystem1.shutdown()
    actorSystem2.shutdown()
   }
  </code></pre>
  
  <p>Thanks in advance.</p>