> For the complete documentation index, see [llms.txt](https://docs.ecotone.tech/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ecotone.tech/modelling/microservices-php/distributed-bus/amqp-distributed-bus-rabbitmq/configuration.md).

# Configuration

## Service Name Configuration

In order for `Ecotone` how to route messages you need to register Service Name (Application Name).

* [Symfony Service Name Configuration](/modules/symfony/symfony-ddd-cqrs-event-sourcing.md#servicename)
* [Laravel Service Name Configuration](/modules/laravel/laravel-ddd-cqrs-event-sourcing.md#servicename)
* [Ecotone Lite Service Name Configuration](/modules/ecotone-lite.md#servicename)

## Configure Distribution

To create [AMQP Distributed configuration](/modelling/microservices-php.md) use [Service Context](/messaging/service-application-configuration.md).

### Distributed Message Publisher

This will register **DistributedBus** in Dependency Container, which can be used to send Distributed Messages:

```php
class MessagingConfiguration
{
    #[ServiceContext] 
    public function distributedPublisher()
    {
        return AmqpDistributedBusConfiguration::createPublisher();
    }
}
```

After that **DistributedBus** will become available in Dependency Container, ready to start sending Messages.

### Distributed Message Consumer

This will enable Message Consumer with Service Name, which can consume Distributed Messages:

```php
class MessagingConfiguration
{
    #[ServiceContext] 
    public function distributedConsumer()
    {
        return AmqpDistributedBusConfiguration::createConsumer();
    }
}
```

### Run the consumer

Run consumer for your registered distributed consumer. It will be available under your [Service Name](/modelling/microservices-php.md#configuration)

List:

{% tabs %}
{% tab title="Symfony" %}

```php
bin/console ecotone:list
+--------------------+
| Endpoint Names     |
+--------------------+
| billing            |
+--------------------+
```

{% endtab %}

{% tab title="Laravel" %}

```php
artisan ecotone:list
+--------------------+
| Endpoint Names     |
+--------------------+
| billing            |
+--------------------+
```

{% endtab %}

{% tab title="Lite" %}

```
$consumers = $messagingSystem->list()
```

{% endtab %}
{% endtabs %}

Run it:

{% tabs %}
{% tab title="Symfony" %}

```php
bin/console ecotone:run billing -vvv
```

{% endtab %}

{% tab title="Laravel" %}

```
artisan ecotone:run billing -vvv
```

{% endtab %}

{% tab title="Lite" %}

```php
$messagingSystem->run("billing");
```

{% endtab %}
{% endtabs %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ecotone.tech/modelling/microservices-php/distributed-bus/amqp-distributed-bus-rabbitmq/configuration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
