Skip to content

Commit 1d3089e

Browse files
MathieuMatTheCat
Mathieu
authored andcommitted
[Messenger] Mention passing arguments to abstract definition
1 parent 4e8b539 commit 1d3089e

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

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

23432346
.. configuration-block::
23442347

@@ -2352,9 +2355,11 @@ middleware and *only* include your own:
23522355
# disable the default middleware
23532356
default_middleware: false
23542357
2355-
# and/or add your own
23562358
middleware:
2357-
# service ids that implement Symfony\Component\Messenger\Middleware\MiddlewareInterface
2359+
# use and configure parts of the default middleware you want
2360+
- 'add_bus_name_stamp_middleware': ['messenger.bus.default']
2361+
2362+
# add your own services that implement Symfony\Component\Messenger\Middleware\MiddlewareInterface
23582363
- 'App\Middleware\MyMiddleware'
23592364
- 'App\Middleware\AnotherMiddleware'
23602365
@@ -2374,11 +2379,17 @@ middleware and *only* include your own:
23742379
<framework:config>
23752380
<framework:messenger>
23762381
<!-- default-middleware: disable the default middleware -->
2377-
<framework:bus name="messenger.bus.default" default-middleware="false"/>
2382+
<framework:bus name="messenger.bus.default" default-middleware="false">
23782383
2379-
<!-- and/or add your own -->
2380-
<framework:middleware id="App\Middleware\MyMiddleware"/>
2381-
<framework:middleware id="App\Middleware\AnotherMiddleware"/>
2384+
<!-- use and configure parts of the default middleware you want -->
2385+
<framework:middleware id="add_bus_name_stamp_middleware">
2386+
<framework:argument>messenger.bus.default</framework:argument>
2387+
</framework:middleware>
2388+
2389+
<!-- add your own services that implement Symfony\Component\Messenger\Middleware\MiddlewareInterface -->
2390+
<framework:middleware id="App\Middleware\MyMiddleware"/>
2391+
<framework:middleware id="App\Middleware\AnotherMiddleware"/>
2392+
</framework:bus>
23822393
</framework:messenger>
23832394
</framework:config>
23842395
</container>
@@ -2392,16 +2403,16 @@ middleware and *only* include your own:
23922403
$messenger = $framework->messenger();
23932404
23942405
$bus = $messenger->bus('messenger.bus.default')
2395-
->defaultMiddleware(false);
2406+
->defaultMiddleware(false); // disable the default middleware
2407+
2408+
// use and configure parts of the default middleware you want
2409+
$bus->middleware()->id('add_bus_name_stamp_middleware')->arguments(['messenger.bus.default']);
2410+
2411+
// add your own services that implement Symfony\Component\Messenger\Middleware\MiddlewareInterface
23962412
$bus->middleware()->id('App\Middleware\MyMiddleware');
23972413
$bus->middleware()->id('App\Middleware\AnotherMiddleware');
23982414
};
23992415
2400-
.. note::
2401-
2402-
If a middleware service is abstract, a different instance of the service will
2403-
be created per bus.
2404-
24052416
.. _middleware-doctrine:
24062417

24072418
Middleware for Doctrine

0 commit comments

Comments
 (0)