public FanoutTransport() throws InterruptedIOException {
   // Setup a task that is used to reconnect the a connection async.
   reconnectTaskFactory = new TaskRunnerFactory();
   reconnectTaskFactory.init();
   reconnectTask =
       reconnectTaskFactory.createTaskRunner(
           new Task() {
             @Override
             public boolean iterate() {
               return doConnect();
             }
           },
           "ActiveMQ Fanout Worker: " + System.identityHashCode(this));
 }