protected void doStart() throws Exception {

    messageDistribution = new ShardedMessageDistribution(brokerControl);
    multiplexer = new Multiplexer(model, "multiplexer.test", asyncExecutors, messageDistribution);
    model.start();
    transportServer = new TestTransportServer(LOCATION);

    asyncExecutors.start();
    brokerControl.start();
    messageDistribution.start();
    multiplexer.start();
    transportServer.setTransportAcceptListener(
        (new TransportAcceptListener() {
          @Override
          public void onAccept(Transport transport) {
            try {
              multiplexer.addInput("openwire", transport);
            } catch (Exception e) {
              e.printStackTrace();
            }
          }

          @Override
          public void onAcceptError(Exception e) {
            e.printStackTrace();
          }
        }));
    transportServer.start();
  }
 public void addBrokerModelChangedListener(BrokerModelChangedListener brokerModelChangedListener) {
   brokerControl.addBrokerModelChangedListener(brokerModelChangedListener);
 }
 public void removeBrokerModelChangedListener(
     BrokerModelChangedListener brokerModelChangedListener) {
   brokerControl.removeBrokerModelChangedListener(brokerModelChangedListener);
 }
 public Collection<BrokerModel> getBrokerModels() {
   return brokerControl.getBrokerModels();
 }