di.xml 2.74 KB
<?xml version="1.0"?>
<!--
/**
 * Copyright © Magento, Inc. All rights reserved.
 * See COPYING.txt for license details.
 */
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <preference for="Magento\Framework\MessageQueue\ConfigInterface" type="Magento\Framework\MessageQueue\Config\Proxy" />
    <preference for="Magento\Framework\MessageQueue\LockInterface" type="Magento\Framework\MessageQueue\Lock" />
    <preference for="Magento\Framework\MessageQueue\Lock\WriterInterface" type="Magento\MessageQueue\Model\ResourceModel\Lock" />
    <preference for="Magento\Framework\MessageQueue\Lock\ReaderInterface" type="Magento\MessageQueue\Model\ResourceModel\Lock" />
    <preference for="Magento\Framework\MessageQueue\EnvelopeInterface" type="Magento\Framework\MessageQueue\Envelope"/>
    <preference for="Magento\Framework\MessageQueue\ConsumerInterface" type="Magento\Framework\MessageQueue\Consumer"/>
    <preference for="Magento\Framework\MessageQueue\MergedMessageInterface" type="Magento\Framework\MessageQueue\MergedMessage"/>
    <type name="Magento\Framework\Console\CommandListInterface">
        <arguments>
            <argument name="commands" xsi:type="array">
                <item name="startConsumerCommand" xsi:type="object">Magento\MessageQueue\Console\StartConsumerCommand\Proxy</item>
                <item name="consumerListCommand" xsi:type="object">Magento\MessageQueue\Console\ConsumerListCommand\Proxy</item>
            </argument>
        </arguments>
    </type>
    <type name="Magento\Framework\MessageQueue\MessageProcessorLoader">
        <arguments>
            <argument name="mergedMessageProcessor" xsi:type="object">Magento\Framework\MessageQueue\MergedMessageProcessor</argument>
            <argument name="defaultMessageProcessor" xsi:type="object">Magento\Framework\MessageQueue\MessageProcessor</argument>
        </arguments>
    </type>
    <type name="Magento\Framework\App\MaintenanceMode">
        <plugin name="amqp_maintenance_mode" type="Magento\MessageQueue\Model\Plugin\ResourceModel\Lock"/>
    </type>
    <virtualType name="RefreshLock" type="Magento\MessageQueue\Model\ResourceModel\Lock">
        <arguments>
            <argument name="interval" xsi:type="number">0</argument>
        </arguments>
    </virtualType>
    <type name="Magento\MessageQueue\Model\Plugin\ResourceModel\Lock">
        <arguments>
            <argument name="lock" xsi:type="object">RefreshLock</argument>
        </arguments>
    </type>
    <type name="Magento\MessageQueue\Model\Cron\ConsumersRunner">
        <arguments>
            <argument name="shellBackground" xsi:type="object">shellBackground</argument>
        </arguments>
    </type>
</config>