Skip to content

Commit 6af235e

Browse files
Nyholmogizanagi
andcommitted
Support for handling messages after current bus is finished
Co-authored-by: Maxime Steinhausser <[email protected]>
1 parent 44955ea commit 6af235e

File tree

4 files changed

+6
-2
lines changed

4 files changed

+6
-2
lines changed

DependencyInjection/FrameworkExtension.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1608,7 +1608,7 @@ private function registerMessengerConfiguration(array $config, ContainerBuilder
16081608
}
16091609

16101610
$defaultMiddleware = [
1611-
'before' => [],
1611+
'before' => [['id' => 'dispatch_after_current_bus']],
16121612
'after' => [['id' => 'send_message'], ['id' => 'handle_message']],
16131613
];
16141614
foreach ($config['buses'] as $busId => $bus) {

Resources/config/messenger.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@
3939
</call>
4040
</service>
4141

42+
<service id="messenger.middleware.dispatch_after_current_bus" class="Symfony\Component\Messenger\Middleware\DispatchAfterCurrentBusMiddleware" />
43+
4244
<service id="messenger.middleware.validation" class="Symfony\Component\Messenger\Middleware\ValidationMiddleware">
4345
<argument type="service" id="validator" />
4446
</service>

Tests/DependencyInjection/FrameworkExtensionTest.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -702,12 +702,14 @@ public function testMessengerWithMultipleBuses()
702702
$this->assertTrue($container->has('messenger.bus.commands'));
703703
$this->assertSame([], $container->getDefinition('messenger.bus.commands')->getArgument(0));
704704
$this->assertEquals([
705+
['id' => 'dispatch_after_current_bus'],
705706
['id' => 'send_message'],
706707
['id' => 'handle_message'],
707708
], $container->getParameter('messenger.bus.commands.middleware'));
708709
$this->assertTrue($container->has('messenger.bus.events'));
709710
$this->assertSame([], $container->getDefinition('messenger.bus.events')->getArgument(0));
710711
$this->assertEquals([
712+
['id' => 'dispatch_after_current_bus'],
711713
['id' => 'with_factory', 'arguments' => ['foo', true, ['bar' => 'baz']]],
712714
['id' => 'send_message'],
713715
['id' => 'handle_message'],

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
"symfony/form": "^4.3",
4444
"symfony/expression-language": "~3.4|~4.0",
4545
"symfony/http-client": "^4.3",
46-
"symfony/messenger": "^4.2",
46+
"symfony/messenger": "^4.3",
4747
"symfony/mime": "^4.3",
4848
"symfony/process": "~3.4|~4.0",
4949
"symfony/security-core": "~3.4|~4.0",

0 commit comments

Comments
 (0)