/**
  * @param OutgoingPublishContext $context
  * @param callable               $next
  */
 public function invoke($context, callable $next)
 {
     $context->setHeader(HeaderTypeEnum::MESSAGE_INTENT, MessageIntentEnum::PUBLISH);
     $logicalMesageContext = $this->contextFactory->createLogicalMessageContextFromPublishContext($context);
     $next($logicalMesageContext);
 }
예제 #2
0
 /**
  * @param OutgoingPublishContext $parentContext
  *
  * @return OutgoingLogicalMessageContext
  */
 public function createLogicalMessageContextFromPublishContext(OutgoingPublishContext $parentContext)
 {
     return new OutgoingLogicalMessageContext($parentContext->getMessageId(), $parentContext->getHeaders(), $parentContext->getLogicalMessage(), [new MulticastAddressTag($parentContext->getLogicalMessage()->getMessageClass())], $parentContext->getPublishOptions()->isImmediateDispatchEnabled(), $parentContext->getIncomingPhysicalMessage(), $parentContext->getPendingTransportOperations(), $parentContext);
 }