public function build(ContainerBuilder $container)
 {
     $this->checkRequirements(array('SimpleBusCommandBusBundle'), $container);
     $container->addCompilerPass(new ConfigureMiddlewares('event_bus', 'event_bus_middleware'));
     $container->addCompilerPass(new RegisterMessageRecorders('simple_bus.event_bus.aggregates_recorded_messages', 'event_recorder'));
     $container->addCompilerPass(new RegisterSubscribers('simple_bus.event_bus.event_subscribers_collection', 'event_subscriber', 'subscribes_to'));
     CompilerPassUtil::prependBeforeOptimizationPass($container, new AddMiddlewareTags('simple_bus.event_bus.handles_recorded_mesages_middleware', ['command'], 200));
 }
 public function build(ContainerBuilder $container)
 {
     $this->checkRequirements(array('SimpleBusCommandBusBundle', 'SimpleBusEventBusBundle'), $container);
     $compilerPass = new AddMiddlewareTags('simple_bus.doctrine_orm_bridge.wraps_next_command_in_transaction', ['command'], 100);
     CompilerPassUtil::prependBeforeOptimizationPass($container, $compilerPass);
 }