Avillions
@Avillions
PHP Developer at Genesis

Как подключить rabbitmq-bundle в свой 3thd party bundle?

Добрый день, я пишу на Symfony 3 свой 3thd party bundle смысл которого заключается в поднятии нескольких очередей и 1 rpc соединения.

Так вот в папке конфигурации бандла есть файл rabbit_mq.yml приблизительно такого содержания:
old_sound_rabbit_mq:
    consumers:
        search_index:
            connection: default
            exchange_options: {name: 'search-index', type: direct}
            queue_options: {name: 'search-index', durable: true}
            callback: search.queue_consumer.index_consumer
    rpc_servers:
        search:
            connection: default
            callback: search.queue_consumer.search_consumer


Когда я этот файл импортирую в файл app/config/config.yml все работает хорошо. Но когда я его пытаюсь подключить через DependencyInjection/Extension:
<?php

namespace SearchServerBundle\DependencyInjection;

use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\Config\FileLocator;
use Symfony\Component\HttpKernel\DependencyInjection\Extension as DependencyInjectionExtension;
use Symfony\Component\DependencyInjection\Loader;

/**
 * This is the class that loads and manages your bundle configuration.
 *
 * @link http://symfony.com/doc/current/cookbook/bundles/extension.html
 */
class Extension extends DependencyInjectionExtension
{
    /**
     * {@inheritdoc}
     */
    public function load(array $configs, ContainerBuilder $container)
    {
        $configuration = new Configuration();
        $config = $this->processConfiguration($configuration, $configs);
        
        $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
        $loader->load('parameters.yml');
        $loader->load('services.yml');
        $loader->load('rabbit_mq.yml');
        
    }
}


То мне выпадает такая ошибка:
[Symfony\Component\DependencyInjection\Exception\InvalidArgumentException]                                                                  
  There is no extension able to load the configuration for "old_sound_rabbit_mq" (in /home/vagrant/projects/general/src/SearchServerBundle/D  
  ependencyInjection/../Resources/config/rabbit_mq.yml). Looked for namespace "old_sound_rabbit_mq", found none


Я уже перепробовал разные варианты, но не могу настроить rabbit mq через DI. Как это можно сделать? хотя бы ссылку на пример подобной конфигурации. Заранее благодарен.
  • Вопрос задан
  • 1128 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы