Skip to content

Commit 878e515

Browse files
MathieuMatTheCat
Mathieu
authored andcommitted
[Messenger] Mention passing arguments to abstract definition
1 parent 93a056b commit 878e515

File tree

1 file changed

+24
-13
lines changed

1 file changed

+24
-13
lines changed

messenger.rst

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2335,7 +2335,10 @@ a message is received via the worker (for messages that were sent to a transport
23352335
to be handled asynchronously). Keep this in mind if you create your own middleware.
23362336

23372337
You can add your own middleware to this list, or completely disable the default
2338-
middleware and *only* include your own:
2338+
middleware and *only* include your own.
2339+
2340+
If a middleware service is abstract, you can configure its constructor's arguments.
2341+
A different instance will be created per bus.
23392342

23402343
.. configuration-block::
23412344

@@ -2349,9 +2352,11 @@ middleware and *only* include your own:
23492352
# disable the default middleware
23502353
default_middleware: false
23512354
2352-
# and/or add your own
23532355
middleware:
2354-
# service ids that implement Symfony\Component\Messenger\Middleware\MiddlewareInterface
2356+
# use and configure parts of the default middleware you want
2357+
- 'add_bus_name_stamp_middleware': ['messenger.bus.default']
2358+
2359+
# add your own services that implement Symfony\Component\Messenger\Middleware\MiddlewareInterface
23552360
- 'App\Middleware\MyMiddleware'
23562361
- 'App\Middleware\AnotherMiddleware'
23572362
@@ -2371,11 +2376,17 @@ middleware and *only* include your own:
23712376
<framework:config>
23722377
<framework:messenger>
23732378
<!-- default-middleware: disable the default middleware -->
2374-
<framework:bus name="messenger.bus.default" default-middleware="false"/>
2379+
<framework:bus name="messenger.bus.default" default-middleware="false">
23752380
2376-
<!-- and/or add your own -->
2377-
<framework:middleware id="App\Middleware\MyMiddleware"/>
2378-
<framework:middleware id="App\Middleware\AnotherMiddleware"/>
2381+
<!-- use and configure parts of the default middleware you want -->
2382+
<framework:middleware id="add_bus_name_stamp_middleware">
2383+
<framework:argument>messenger.bus.default</framework:argument>
2384+
</framework:middleware>
2385+
2386+
<!-- add your own services that implement Symfony\Component\Messenger\Middleware\MiddlewareInterface -->
2387+
<framework:middleware id="App\Middleware\MyMiddleware"/>
2388+
<framework:middleware id="App\Middleware\AnotherMiddleware"/>
2389+
</framework:bus>
23792390
</framework:messenger>
23802391
</framework:config>
23812392
</container>
@@ -2389,16 +2400,16 @@ middleware and *only* include your own:
23892400
$messenger = $framework->messenger();
23902401
23912402
$bus = $messenger->bus('messenger.bus.default')
2392-
->defaultMiddleware(false);
2403+
->defaultMiddleware(false); // disable the default middleware
2404+
2405+
// use and configure parts of the default middleware you want
2406+
$bus->middleware()->id('add_bus_name_stamp_middleware')->arguments(['messenger.bus.default']);
2407+
2408+
// add your own services that implement Symfony\Component\Messenger\Middleware\MiddlewareInterface
23932409
$bus->middleware()->id('App\Middleware\MyMiddleware');
23942410
$bus->middleware()->id('App\Middleware\AnotherMiddleware');
23952411
};
23962412
2397-
.. note::
2398-
2399-
If a middleware service is abstract, a different instance of the service will
2400-
be created per bus.
2401-
24022413
.. _middleware-doctrine:
24032414

24042415
Middleware for Doctrine

0 commit comments

Comments
 (0)