Skip to content

Commit

Permalink
[Messenger] Restore message handlers laziness
Browse files Browse the repository at this point in the history
  • Loading branch information
Robin Chalas committed Dec 11, 2018
1 parent 5661c41 commit 7b18ee1
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 8 deletions.
8 changes: 1 addition & 7 deletions DependencyInjection/FrameworkExtension.php
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@
use Symfony\Component\Console\Command\Command;
use Symfony\Component\DependencyInjection\Alias;
use Symfony\Component\DependencyInjection\Argument\IteratorArgument;
use Symfony\Component\DependencyInjection\Argument\RewindableGenerator;
use Symfony\Component\DependencyInjection\Argument\ServiceClosureArgument;
use Symfony\Component\DependencyInjection\ChildDefinition;
use Symfony\Component\DependencyInjection\ContainerBuilder;
Expand Down Expand Up @@ -1600,12 +1599,7 @@ private function registerMessengerConfiguration(array $config, ContainerBuilder
$senders[$sender] = new Reference($senderAliases[$sender] ?? $sender);
}

$sendersId = 'messenger.senders.'.$message;
$container->register($sendersId, RewindableGenerator::class)
->setFactory('current')
->addArgument(array(new IteratorArgument($senders)));
$messageToSendersMapping[$message] = new Reference($sendersId);

$messageToSendersMapping[$message] = new IteratorArgument($senders);
$messagesToSendAndHandle[$message] = $messageConfiguration['send_and_handle'];
}

Expand Down
3 changes: 2 additions & 1 deletion Tests/DependencyInjection/FrameworkExtensionTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -651,10 +651,11 @@ public function testMessengerRouting()
);

$this->assertSame($messageToSendAndHandleMapping, $senderLocatorDefinition->getArgument(1));
$sendersMapping = $senderLocatorDefinition->getArgument(0);
$this->assertEquals(array(
'amqp' => new Reference('messenger.transport.amqp'),
'audit' => new Reference('audit'),
), $container->getDefinition('messenger.senders.'.DummyMessage::class)->getArgument(0)[0]->getValues());
), $sendersMapping[DummyMessage::class]->getValues());
}

/**
Expand Down

0 comments on commit 7b18ee1

Please sign in to comment.