Skip to content

Commit 0472525

Browse files
author
Mathieu
committed
[Messenger] Mention passing arguments to abstract definition
1 parent 56ed214 commit 0472525

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
@@ -2270,7 +2270,10 @@ a message is received via the worker (for messages that were sent to a transport
22702270
to be handled asynchronously). Keep this in mind if you create your own middleware.
22712271

22722272
You can add your own middleware to this list, or completely disable the default
2273-
middleware and *only* include your own:
2273+
middleware and *only* include your own.
2274+
2275+
If a middleware service is abstract, you can configure its constructor's arguments.
2276+
A different instance will be created per bus.
22742277

22752278
.. configuration-block::
22762279

@@ -2284,9 +2287,11 @@ middleware and *only* include your own:
22842287
# disable the default middleware
22852288
default_middleware: false
22862289
2287-
# and/or add your own
22882290
middleware:
2289-
# service ids that implement Symfony\Component\Messenger\Middleware\MiddlewareInterface
2291+
# use and configure parts of the default middleware you want
2292+
- 'add_bus_name_stamp_middleware': ['messenger.bus.default']
2293+
2294+
# add your own services that implement Symfony\Component\Messenger\Middleware\MiddlewareInterface
22902295
- 'App\Middleware\MyMiddleware'
22912296
- 'App\Middleware\AnotherMiddleware'
22922297
@@ -2306,11 +2311,17 @@ middleware and *only* include your own:
23062311
<framework:config>
23072312
<framework:messenger>
23082313
<!-- default-middleware: disable the default middleware -->
2309-
<framework:bus name="messenger.bus.default" default-middleware="false"/>
2314+
<framework:bus name="messenger.bus.default" default-middleware="false">
23102315
2311-
<!-- and/or add your own -->
2312-
<framework:middleware id="App\Middleware\MyMiddleware"/>
2313-
<framework:middleware id="App\Middleware\AnotherMiddleware"/>
2316+
<!-- use and configure parts of the default middleware you want -->
2317+
<framework:middleware id="add_bus_name_stamp_middleware">
2318+
<framework:argument>messenger.bus.default</framework:argument>
2319+
</framework:middleware>
2320+
2321+
<!-- add your own services that implement Symfony\Component\Messenger\Middleware\MiddlewareInterface -->
2322+
<framework:middleware id="App\Middleware\MyMiddleware"/>
2323+
<framework:middleware id="App\Middleware\AnotherMiddleware"/>
2324+
</framework:bus>
23142325
</framework:messenger>
23152326
</framework:config>
23162327
</container>
@@ -2324,16 +2335,16 @@ middleware and *only* include your own:
23242335
$messenger = $framework->messenger();
23252336
23262337
$bus = $messenger->bus('messenger.bus.default')
2327-
->defaultMiddleware(false);
2338+
->defaultMiddleware(false); // disable the default middleware
2339+
2340+
// use and configure parts of the default middleware you want
2341+
$bus->middleware()->id('add_bus_name_stamp_middleware')->arguments(['messenger.bus.default']);
2342+
2343+
// add your own services that implement Symfony\Component\Messenger\Middleware\MiddlewareInterface
23282344
$bus->middleware()->id('App\Middleware\MyMiddleware');
23292345
$bus->middleware()->id('App\Middleware\AnotherMiddleware');
23302346
};
23312347
2332-
.. note::
2333-
2334-
If a middleware service is abstract, a different instance of the service will
2335-
be created per bus.
2336-
23372348
.. _middleware-doctrine:
23382349

23392350
Middleware for Doctrine

0 commit comments

Comments
 (0)