@@ -419,112 +419,6 @@ like this:
419
419
The first argument is the receiver's service name. It might have been created by
420
420
your ``transports `` configuration or it can be your own receiver.
421
421
422
- Multiple Buses
423
- --------------
424
-
425
- If you are interested in architectures like CQRS, you might want to have multiple
426
- buses within your application.
427
-
428
- You can create multiple buses (in this example, a command bus and an event bus) like
429
- this:
430
-
431
- .. configuration-block ::
432
-
433
- .. code-block :: yaml
434
-
435
- # config/packages/messenger.yaml
436
- framework :
437
- messenger :
438
- # The bus that is going to be injected when injecting MessageBusInterface:
439
- default_bus : messenger.bus.commands
440
-
441
- # Create buses
442
- buses :
443
- messenger.bus.commands : ~
444
- messenger.bus.events : ~
445
-
446
- .. code-block :: xml
447
-
448
- <!-- config/packages/messenger.xml -->
449
- <?xml version =" 1.0" encoding =" UTF-8" ?>
450
- <container xmlns =" http://symfony.com/schema/dic/services"
451
- xmlns : xsi =" http://www.w3.org/2001/XMLSchema-instance"
452
- xmlns : framework =" http://symfony.com/schema/dic/symfony"
453
- xsi : schemaLocation =" http://symfony.com/schema/dic/services
454
- http://symfony.com/schema/dic/services/services-1.0.xsd
455
- http://symfony.com/schema/dic/symfony
456
- http://symfony.com/schema/dic/symfony/symfony-1.0.xsd" >
457
-
458
- <framework : config >
459
- <framework : messenger default-bus =" messenger.bus.commands" >
460
- <framework : bus name =" messenger.bus.commands" />
461
- <framework : bus name =" messenger.bus.events" />
462
- </framework : messenger >
463
- </framework : config >
464
- </container >
465
-
466
- .. code-block :: php
467
-
468
- // config/packages/messenger.php
469
- $container->loadFromExtension('framework', array(
470
- 'messenger' => array(
471
- 'default_bus' => 'messenger.bus.commands',
472
- 'buses' => array(
473
- 'messenger.bus.commands' => null,
474
- 'messenger.bus.events' => null,
475
- ),
476
- ),
477
- ));
478
-
479
- This will generate the ``messenger.bus.commands `` and ``messenger.bus.events `` services
480
- that you can inject in your services.
481
-
482
- .. note ::
483
-
484
- To register a handler only for a specific bus, add a ``bus `` attribute to
485
- the handler's service tag (``messenger.message_handler ``) and use the bus
486
- name as its value.
487
-
488
- Type-hints and Auto-wiring
489
- ~~~~~~~~~~~~~~~~~~~~~~~~~~
490
-
491
- Auto-wiring is a great feature that allows you to reduce the amount of configuration
492
- required for your service container to be created. When using multiple buses, by default,
493
- the auto-wiring will not work as it won't know which bus to inject in your own services.
494
-
495
- In order to clarify this, you can use the DependencyInjection's binding capabilities
496
- to clarify which bus will be injected based on the argument's name:
497
-
498
- .. configuration-block ::
499
-
500
- .. code-block :: yaml
501
-
502
- # config/services.yaml
503
- services :
504
- _defaults :
505
- # ...
506
-
507
- bind :
508
- $commandBus : ' @messenger.bus.commands'
509
- $eventBus : ' @messenger.bus.events'
510
-
511
- .. code-block :: xml
512
-
513
- <!-- config/services.xml -->
514
- <?xml version =" 1.0" encoding =" UTF-8" ?>
515
- <container xmlns =" http://symfony.com/schema/dic/services"
516
- xmlns : xsi =" http://www.w3.org/2001/XMLSchema-instance"
517
- xsi : schemaLocation =" http://symfony.com/schema/dic/services
518
- http://symfony.com/schema/dic/services/services-1.0.xsd" >
519
-
520
- <services >
521
- <defaults >
522
- <bind key =" $commandBus" type =" service" id =" messenger.bus.commands" />
523
- <bind key =" $commandBus" type =" service" id =" messenger.bus.events" />
524
- </defaults >
525
- </services >
526
- </container >
527
-
528
422
Middleware
529
423
----------
530
424
@@ -959,4 +853,12 @@ will give you access to the following services:
959
853
#. ``messenger.sender.yours ``: the sender;
960
854
#. ``messenger.receiver.yours ``: the receiver.
961
855
856
+ Learn more
857
+ ----------
858
+ .. toctree ::
859
+ :maxdepth: 1
860
+ :glob:
861
+
862
+ /messenger/*
863
+
962
864
.. _`enqueue's transport` : https://github.com/php-enqueue/messenger-adapter
0 commit comments