Definice parametrů configu nějaké extension ve vlastním modulu (extension)

Croc
Člen | 270
+
0
-

Zdravím,
mám takový problém s implementací extension ve vlastním modulu (také extension). Konkrétně se jedná o gameeapp/nette-rabbitmq. Pokud mám configuraci front a konsumerů v hlavním configu aplikace (root/app/config/config.neon) všechno funguje. Nicméně tuto configuraci potřebuju mít ve vlastním balíšku/extension (root/libs/Ext/src/DI/ext_config.neon). Pokud definici přesunu do uvedeného configu dostávám následujicí hlášku:

Gamee\RabbitMQ\Producer\Exception\ProducerFactoryException
Producer [testProducer] does not exist

Všechny služby (consumer a queue) mám v configu modulu (ext_config.neon) stejně jako configuraci.

// root/libs/Ext/src/DI/ext_config.neon
services:
	# rabbitMQ
	- Ext\RabbitMq\Consumer\TestConsumer
	- Ext\RabbitMq\Queue\TestQueue(@Gamee\RabbitMQ\Client::getProducer(testProducer))

rabbitmq:
    connections:
        default:
            user: guest
            password: guest
            host: localhost
            port: 5672

    queues:
        testQueue:
            connection: default
            autoCreate: true

    producers:
        testProducer:
            queue: testQueue
            contentType: application/json
            deliveryMode: 2 # Producer::DELIVERY_MODE_PERSISTENT

    consumers:
        testConsumer:
            queue: testQueue
            callback: [@Ext\RabbitMq\Consumer\TestConsumer, consume]
            qos:
                prefetchSize: 0
                prefetchCount: 10
// root/libs/Ext/src/DI/ExtExtension.php
<?php

namespace Ext\DI;

use Nette;

class ExtExtension extends Nette\DI\CompilerExtension {

    public function loadConfiguration() {

        $config = $this->loadFromFile(__DIR__ . '/ext_config.neon');
        $config = Nette\DI\Helpers::expand($config, $this->validateConfig($this->config));

        Nette\DI\Compiler::loadDefinitions(
            $this->getContainerBuilder(),
            $config['services'],
            $this->name
        );
    }
}

Nějaké nápady jak toto řešit?
Moc děkuju

Croc
Člen | 270
+
0
-

Neřešil toto někdo? Případně v kontextu s Kdyby/RabbitMq?

Marek Bartoš
Nette Blogger | 1146
+
0
-

V extension z configu nelze načítat nic jiného, než služby, příliš pozdě. Též tím vytváříš skryté závislosti mezi extensions.