承接 artox-lab/clarc-message-bus-bundle 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

artox-lab/clarc-message-bus-bundle

Composer 安装命令:

composer require artox-lab/clarc-message-bus-bundle

包简介

Message bus adapter for Artox Lab CLARC bundle

README 文档

README

Installation

Applications that use Symfony Flex

Open a command console, enter your project directory and execute:

$ composer require artox-lab/clarc-message-bus-bundle

Applications that don't use Symfony Flex

Step 1: Download the Bundle

Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:

$ composer require artox-lab/clarc-message-bus-bundle

This command requires you to have Composer installed globally, as explained in the installation chapter of the Composer documentation.

Step 2: Enable the Bundle

Then, enable the bundle by adding it to the list of registered bundles in the config/bundles.php file of your project:

// config/bundles.php

return [
    // ...
    ArtoxLab\Bundle\ClarcMessageBusBundle\ArtoxLabClarcMessageBusBundle::class => ['all' => true],
];

Step 3: Configuration

Configure bundle

# config/packages/artox_lab_clarc_message_bus.yaml

artox_lab_clarc_message_bus:
    bus:
        middleware:
            add_redelivery_stamp_middleware:
                retry_count: 10

Usage

Step 1: Create your event lib based on abstract-bus-event-message

Add your event lib in project via composer

Step 2: Configuring Services in the Container

Bundle uses abstract-bus-event-message as dependency. You need to configure the services for the interfaces:

# config/services.yaml

app_message_bus.producer.bus_event_message_factory:
    class: YourLib\BusEventMessage\V1\BusMessageFactory

ArtoxLab\AbstractBusEventMessage\V1\BusMessageFactoryInterface: '@app_message_bus.producer.bus_event_message_factory'

app_message_bus.producer.bus_event_message:
    class: YourLib\BusEventMessage\V1\BusMessage

ArtoxLab\AbstractBusEventMessage\V1\BusMessageInterface: '@app_message_bus.producer.bus_event_message'

app_message_bus.producer.bus_event:
    class: YourLib\BusEventMessage\V1\Events\BaseEvent

ArtoxLab\AbstractBusEventMessage\V1\Events\EventInterface: '@app_message_bus.producer.bus_event'

Step 3: Configure symfony/messenger

# config/packages/messenger.yaml

framework:
    messenger:
        buses:
            message.bus:
                middleware:
                    - validation
                    - artox_lab_clarc_message_bus.middleware.add_redelivery_stamp_middleware

        transports:
            example:
                dsn: "%env(RABBITMQ_TRANSPORT_DSN)%"
                serializer: artox_lab_clarc_message_bus.transport.bus_serializer
                retry_strategy:
                    delay: 10000
                    max_retries: 10
                    multiplier: 1
                options:
                    exchange:
                        name: "events.example"
                        type: "topic"
                        flags: 4
                    queues:
                        events:
                            binding_keys: [ '#' ]

        routing:
            'YourLib\BusEventMessage\V1\Events\ExampleEvent': [ example ]

Exchange type "topic"

If exchange type "topic" then symfony don't create queues automatically. Configure RabbitMqBundle

# config/packages/old_sound_rabbit_mq.yaml

old_sound_rabbit_mq:
    connections:
        default:
            url: '%env(RABBITMQ_TRANSPORT_DSN)%'

    producers:
        example:
            connection: default
            exchange_options: { name: 'events.example', type: topic, auto_delete: true, durable: true }
            service_alias: example

Open a command console, enter your project directory and execute the following commands to create queues and setup transports:

$ php bin/console rabbitmq:setup-fabric
$ php bin/console messenger:setup-transports

Examples

统计信息

  • 总下载量: 1.22k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 3
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2021-01-28

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固