clean up mailbox types configurability, see #1843

- add (config) constructors to std mailbox types
- update docs for prio mailbox to directly implement MailboxType
This commit is contained in:
Roland 2012-02-21 16:40:34 +01:00
parent f1e12a8298
commit c84daf83e8
4 changed files with 29 additions and 10 deletions

View file

@ -20,8 +20,11 @@ import akka.event.LoggingAdapter;
//#imports-prio
//#imports-prio-mailbox
import akka.actor.ActorContext;
import akka.dispatch.PriorityGenerator;
import akka.dispatch.UnboundedPriorityMailbox;
import akka.dispatch.MailboxType;
import akka.dispatch.MessageQueue;
import com.typesafe.config.Config;
//#imports-prio-mailbox
@ -120,7 +123,7 @@ public class DispatcherDocTestBase {
}
//#prio-mailbox
public static class PrioMailbox extends UnboundedPriorityMailbox {
public static class PrioMailbox implements MailboxType {
static final PriorityGenerator generator = new PriorityGenerator() { // Create a new PriorityGenerator, lower prio means more important
@Override
@ -135,9 +138,15 @@ public class DispatcherDocTestBase {
return 50; // We default to 50
}
};
private UnboundedPriorityMailbox priorityMailbox;
public PrioMailbox(Config config) {
super(generator);
public PrioMailbox(Config config) { // needed for reflective instantiation
priorityMailbox = new UnboundedPriorityMailbox(generator);
}
public MessageQueue create(Option<ActorContext> owner) {
return priorityMailbox.create(owner);
}
}
//#prio-mailbox