title: Understanding Props for actor creation
body: <p>I'm trying to undersatnd how to use <code>Props</code> correctly. My first thought was that <code>Props</code> objects contain some property of the actor being created. These properties might include the actor's field values as well as some deployment related information (e.e.g which dispatcher to use). The later has nothing to do with the actual actor and therefore should be shipped independent. </p>
  
  <p>But in <a href="http://doc.akka.io/docs/akka/2.4/java/untyped-actors.html#Recommended_Practices" rel="nofollow"><strong><em>the documentation</em></strong></a> said the the good practice is to use static factory method within the actor like this (documentation removed):</p>
  
  <pre><code>public class DemoActor extends UntypedActor {
  
    public static Props props(final int magicNumber) {
      return Props.create(new Creator&lt;DemoActor&gt;() {
        private static final long serialVersionUID = 1L;
  
        @Override
        public DemoActor create() throws Exception {
          return new DemoActor(magicNumber);
        }
      });
    }
  }
  </code></pre>
  
  <p>I think this is not quite good if for instance we want to use one dispatcher now, and the requirements will change at some point in the future. It will lead to modifying the Actor class which is (in my opinion) incorrect.</p>