/** * @param MessageBus $bus * @param array $routerConfig */ private function attachRouter(MessageBus $bus, array &$routerConfig) { $routerClass = isset($routerConfig['type']) ? (string) $routerConfig['type'] : $this->getDefaultRouterClass(); $routes = isset($routerConfig['routes']) ? $routerConfig['routes'] : []; $router = new $routerClass($routes); $bus->utilize($router); }
/** * @param MessageBus $bus * @param array $routerConfig * @param ContainerInterface $container */ private function attachRouter(MessageBus $bus, array $routerConfig, ContainerInterface $container) { $routerClass = isset($routerConfig['type']) ? (string) $routerConfig['type'] : $this->getDefaultRouterClass(); $routes = isset($routerConfig['routes']) ? $routerConfig['routes'] : []; $router = new $routerClass($routes); if (isset($routerConfig['async_switch'])) { $asyncMessageProducer = $container->get($routerConfig['async_switch']); $router = new AsyncSwitchMessageRouter($router, $asyncMessageProducer); } $bus->utilize($router); }