/
githubmirror
/
magento2
Обзор
Документация
Войти
/
githubmirror
/
magento2
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
2.4-develop
lib/internal/Magento/Framework/Stomp/Bulk/Exchange.php
48 строк
1 KB
Dmytro Horytskyi
ACP2E-4349: [B2B] Purchase orders not auto-converting to sales order with ActiveMQ
13 май 2026, 09:27
13 май 2026, 09:27
2e4a4eb
Код
Авторство
О чём код?
<?php /** * Copyright 2026 Adobe * All Rights Reserved. */ declare(strict_types=1); namespace Magento\Framework\Stomp\Bulk; use Magento\Framework\MessageQueue\Bulk\ExchangeInterface; use Magento\Framework\MessageQueue\MessageDeliveryMode; use Magento\Framework\MessageQueue\QueueResolver; use Magento\Framework\Stomp\StompClientInterface; use Stomp\Transport\Message; class Exchange implements ExchangeInterface { /** * @param StompClientInterface $stompClient * @param QueueResolver $queueResolver */ public function __construct( private readonly StompClientInterface $stompClient, private readonly QueueResolver $queueResolver, ) { } /** * @inheritdoc */ public function enqueue($topic, array $envelopes) { $messages = []; foreach ($envelopes as $envelope) { $headers = $envelope->getProperties(); $deliveryMode = $headers['delivery_mode'] ?? null; if (MessageDeliveryMode::PERSISTENT->value === $deliveryMode) { $headers['persistent'] = 'true'; } $headers['destination-type'] = 'ANYCAST'; $messages[] = new Message($envelope->getBody(), $headers); } $queue = $this->queueResolver->getByTopic($topic); $this->stompClient->sendBatch($queue, $messages); return null; } }