title: Akka-Java is throwing DeadLetterException on ask-await
body: <p>I have a driver/main class in file like this. (Basically I'm trying to mix STORM &amp; AKKA). In TenderEventSpout2 class, I am trying to send and receive message to/from an actor.</p>
  
  <pre><code>public class TenderEventSpout2 extends BaseRichSpout {  
          ActorSystemHandle actorSystemHandle;
          ActorSystem _system;
          ActorRef eventSpoutActor;
          Future&lt;Object&gt; future;
          Timeout timeout;
          String result;
  
      @Override
      public void open(Map map, TopologyContext topologyContext, SpoutOutputCollector spoutOutputCollector) {
          //String[] message = {"WATCH_DIR"};
          timeout = new Timeout(Duration.create(60, "seconds"));
          List&lt;Object&gt; messageList = new ArrayList&lt;Object&gt;(); 
  
          messageList.add("WATCH_DIR");
  
          messageList.add(this.inputDirName);
  
          actorSystemHandle = new ActorSystemHandle();
          _system = actorSystemHandle.getActorSystem();
          eventSpoutActor = _system.actorOf(Props.create(EventSpoutActor.class));
  
  
          future = Patterns.ask(eventSpoutActor, messageList, timeout);
  
      }
  
      @Override
      public void nextTuple() {
          String result = null;
          try{
              result = (String) Await.result(future, timeout.duration());
          }
          catch(Exception e){
              e.printStackTrace();
          }
  }
  </code></pre>
  
  <p>My Actor is:</p>
  
  <pre><code>public class EventSpoutActor extends UntypedActor {
  public ConcurrentLinkedQueue&lt;String&gt; eventQueue = new ConcurrentLinkedQueue&lt;&gt;();
  Inbox inbox;
  @Override 
  public void onReceive(Object message){// throws IOException {
      if (message instanceof List&lt;?&gt;) {
          System.out.println(((List&lt;Object&gt;)message).get(0)+"*******************");
          if(((List&lt;Object&gt;)message).get(0).equals("WATCH_DIR")){
              final List&lt;Object&gt; msg = (List&lt;Object&gt;)message;
              Thread fileWatcher = new Thread(new Runnable(){
  
                  @Override
                  public void run() {
  
                          System.out.println(msg.get(1)+"*******************");
                          try {
  
                              String result = "Hello";
                              System.out.println("Before Sending Message *******************");
                              getSender().tell(result, getSelf());
                              } 
                          catch (Exception e) {
                              getSender().tell(new akka.actor.Status.Failure(e), getSelf());
                              throw e;
                              }
  
                  }
              });
              fileWatcher.setDaemon(true);
              fileWatcher.start();
              System.out.println("Started file watcher");
          }
      } 
      else{
          System.out.println("Unhandled !!");
          unhandled(message);
      }
  }
  </code></pre>
  
  <p>}</p>
  
  <p>I'm able to send message to my EventSpoutActor. But facing problem with receiving messages. Why is that?? I get the following message printed in console:</p>
  
  <pre><code>[EventProcessorActorSystem-akka.actor.default-dispatcher-3]
  [akka://EventProcessorActorSystem/deadLetters] Message [java.lang.String]      
  from Actor[akka://EventProcessorActorSystem/user/$a#-1284357486] to  
  Actor[akka://EventProcessorActorSystem/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>