PHPackages                             artox-lab/clarc-message-bus-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. artox-lab/clarc-message-bus-bundle

ActiveSymfony-bundle

artox-lab/clarc-message-bus-bundle
==================================

Message bus adapter for Artox Lab CLARC bundle

v1.0.4(4y ago)01.2k1MITPHPPHP &gt;=7.3

Since Jan 29Pushed 4y ago3 watchersCompare

[ Source](https://github.com/artox-lab/clarc-message-bus-bundle)[ Packagist](https://packagist.org/packages/artox-lab/clarc-message-bus-bundle)[ RSS](/packages/artox-lab-clarc-message-bus-bundle/feed)WikiDiscussions master Synced today

READMEChangelog (1)Dependencies (5)Versions (7)Used By (0)

Clean Architecture message bus bundle
=====================================

[](#clean-architecture-message-bus-bundle)

Installation
============

[](#installation)

Applications that use Symfony Flex
----------------------------------

[](#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
----------------------------------------

[](#applications-that-dont-use-symfony-flex)

### Step 1: Download the Bundle

[](#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](https://getcomposer.org/doc/00-intro.md)of the Composer documentation.

### Step 2: Enable the Bundle

[](#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

[](#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
=====

[](#usage)

### Step 1: Create your event lib based on [abstract-bus-event-message](https://github.com/artox-lab/abstract-bus-event-message)

[](#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

[](#step-2-configuring-services-in-the-container)

Bundle uses [abstract-bus-event-message](https://github.com/artox-lab/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

[](#step-3-configure-symfonymessenger)

```
# 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"

[](#exchange-type-topic)

If exchange type "topic" then symfony don't create queues automatically. Configure [RabbitMqBundle](https://github.com/artox-lab/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
========

[](#examples)

- [Consume messages](example/consumer)
- [Produce messages](example/producer)

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity18

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~37 days

Total

5

Last Release

1778d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/7871765?v=4)[Artur Turchin](/maintainers/steepdevs)[@steepdevs](https://github.com/steepdevs)

---

Top Contributors

[![Svarok](https://avatars.githubusercontent.com/u/7721869?v=4)](https://github.com/Svarok "Svarok (10 commits)")

### Embed Badge

![Health badge](/badges/artox-lab-clarc-message-bus-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/artox-lab-clarc-message-bus-bundle/health.svg)](https://phpackages.com/packages/artox-lab-clarc-message-bus-bundle)
```

###  Alternatives

[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.4k5.6M651](/packages/sylius-sylius)[shopware/platform

The Shopware e-commerce core

3.3k1.5M3](/packages/shopware-platform)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.3M152](/packages/sulu-sulu)[prestashop/prestashop

PrestaShop is an Open Source e-commerce platform, committed to providing the best shopping cart experience for both merchants and customers.

9.0k15.4k](/packages/prestashop-prestashop)[contao/core-bundle

Contao Open Source CMS

1231.6M2.4k](/packages/contao-core-bundle)[shopware/storefront

Storefront for Shopware

684.2M148](/packages/shopware-storefront)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
