@@ -2338,7 +2338,10 @@ a message is received via the worker (for messages that were sent to a transport
2338
2338
to be handled asynchronously). Keep this in mind if you create your own middleware.
2339
2339
2340
2340
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.
2342
2345
2343
2346
.. configuration-block ::
2344
2347
@@ -2352,9 +2355,11 @@ middleware and *only* include your own:
2352
2355
# disable the default middleware
2353
2356
default_middleware : false
2354
2357
2355
- # and/or add your own
2356
2358
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
2358
2363
- ' App\Middleware\MyMiddleware'
2359
2364
- ' App\Middleware\AnotherMiddleware'
2360
2365
@@ -2374,11 +2379,17 @@ middleware and *only* include your own:
2374
2379
<framework : config >
2375
2380
<framework : messenger >
2376
2381
<!-- 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" >
2378
2383
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 >
2382
2393
</framework : messenger >
2383
2394
</framework : config >
2384
2395
</container >
@@ -2392,16 +2403,16 @@ middleware and *only* include your own:
2392
2403
$messenger = $framework->messenger();
2393
2404
2394
2405
$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
2396
2412
$bus->middleware()->id('App\Middleware\MyMiddleware');
2397
2413
$bus->middleware()->id('App\Middleware\AnotherMiddleware');
2398
2414
};
2399
2415
2400
- .. note ::
2401
-
2402
- If a middleware service is abstract, a different instance of the service will
2403
- be created per bus.
2404
-
2405
2416
.. _middleware-doctrine :
2406
2417
2407
2418
Middleware for Doctrine
0 commit comments