@@ -2270,7 +2270,10 @@ a message is received via the worker (for messages that were sent to a transport
2270
2270
to be handled asynchronously). Keep this in mind if you create your own middleware.
2271
2271
2272
2272
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.
2274
2277
2275
2278
.. configuration-block ::
2276
2279
@@ -2284,9 +2287,11 @@ middleware and *only* include your own:
2284
2287
# disable the default middleware
2285
2288
default_middleware : false
2286
2289
2287
- # and/or add your own
2288
2290
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
2290
2295
- ' App\Middleware\MyMiddleware'
2291
2296
- ' App\Middleware\AnotherMiddleware'
2292
2297
@@ -2306,11 +2311,17 @@ middleware and *only* include your own:
2306
2311
<framework : config >
2307
2312
<framework : messenger >
2308
2313
<!-- 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" >
2310
2315
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 >
2314
2325
</framework : messenger >
2315
2326
</framework : config >
2316
2327
</container >
@@ -2324,16 +2335,16 @@ middleware and *only* include your own:
2324
2335
$messenger = $framework->messenger();
2325
2336
2326
2337
$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
2328
2344
$bus->middleware()->id('App\Middleware\MyMiddleware');
2329
2345
$bus->middleware()->id('App\Middleware\AnotherMiddleware');
2330
2346
};
2331
2347
2332
- .. note ::
2333
-
2334
- If a middleware service is abstract, a different instance of the service will
2335
- be created per bus.
2336
-
2337
2348
.. _middleware-doctrine :
2338
2349
2339
2350
Middleware for Doctrine
0 commit comments