@@ -2343,7 +2343,10 @@ a message is received via the worker (for messages that were sent to a transport
2343
2343
to be handled asynchronously). Keep this in mind if you create your own middleware.
2344
2344
2345
2345
You can add your own middleware to this list, or completely disable the default
2346
- middleware and *only * include your own:
2346
+ middleware and *only * include your own.
2347
+
2348
+ If a middleware service is abstract, you can configure its constructor's arguments
2349
+ and a different instance will be created per bus.
2347
2350
2348
2351
.. configuration-block ::
2349
2352
@@ -2357,9 +2360,11 @@ middleware and *only* include your own:
2357
2360
# disable the default middleware
2358
2361
default_middleware : false
2359
2362
2360
- # and/or add your own
2361
2363
middleware :
2362
- # service ids that implement Symfony\Component\Messenger\Middleware\MiddlewareInterface
2364
+ # use and configure parts of the default middleware you want
2365
+ - ' add_bus_name_stamp_middleware ' : ['messenger.bus.default']
2366
+
2367
+ # add your own services that implement Symfony\Component\Messenger\Middleware\MiddlewareInterface
2363
2368
- ' App\Middleware\MyMiddleware'
2364
2369
- ' App\Middleware\AnotherMiddleware'
2365
2370
@@ -2379,11 +2384,17 @@ middleware and *only* include your own:
2379
2384
<framework : config >
2380
2385
<framework : messenger >
2381
2386
<!-- default-middleware: disable the default middleware -->
2382
- <framework : bus name =" messenger.bus.default" default-middleware =" false" / >
2387
+ <framework : bus name =" messenger.bus.default" default-middleware =" false" >
2383
2388
2384
- <!-- and/or add your own -->
2385
- <framework : middleware id =" App\Middleware\MyMiddleware" />
2386
- <framework : middleware id =" App\Middleware\AnotherMiddleware" />
2389
+ <!-- use and configure parts of the default middleware you want -->
2390
+ <framework : middleware id =" add_bus_name_stamp_middleware" >
2391
+ <framework : argument >messenger.bus.default</framework : argument >
2392
+ </framework : middleware >
2393
+
2394
+ <!-- add your own services that implement Symfony\Component\Messenger\Middleware\MiddlewareInterface -->
2395
+ <framework : middleware id =" App\Middleware\MyMiddleware" />
2396
+ <framework : middleware id =" App\Middleware\AnotherMiddleware" />
2397
+ </framework : bus >
2387
2398
</framework : messenger >
2388
2399
</framework : config >
2389
2400
</container >
@@ -2397,16 +2408,16 @@ middleware and *only* include your own:
2397
2408
$messenger = $framework->messenger();
2398
2409
2399
2410
$bus = $messenger->bus('messenger.bus.default')
2400
- ->defaultMiddleware(false);
2411
+ ->defaultMiddleware(false); // disable the default middleware
2412
+
2413
+ // use and configure parts of the default middleware you want
2414
+ $bus->middleware()->id('add_bus_name_stamp_middleware')->arguments(['messenger.bus.default']);
2415
+
2416
+ // add your own services that implement Symfony\Component\Messenger\Middleware\MiddlewareInterface
2401
2417
$bus->middleware()->id('App\Middleware\MyMiddleware');
2402
2418
$bus->middleware()->id('App\Middleware\AnotherMiddleware');
2403
2419
};
2404
2420
2405
- .. note ::
2406
-
2407
- If a middleware service is abstract, a different instance of the service will
2408
- be created per bus.
2409
-
2410
2421
.. _middleware-doctrine :
2411
2422
2412
2423
Middleware for Doctrine
0 commit comments