Symfony Configuration

Event Sourcing DDD CQRS Symfony PHP

Configuration

ecotone: 
    loadSrcNamespaces: bool (default: true)
    failFast: bool (default: true, production: false)
    namespaces: string[] (default: [])
    defaultSerializationMediaType: string (default: application/x-php-serialized) [application/json, application/xml]
    defaultErrorChannel: string (default: null)
    defaultMemoryLimit: string (default: 1024)
    defaultConnectionExceptionRetry: 
       initialDelay: int (default: 100, production: 1000)
       maxAttempts: int (default: 3, production: 5)
       multiplier: int (default: 3)
    serviceName: string (default: null)
    skippedModulePackageNames: string[] (default: [])
    test: bool (default: false)
    licenceKey: string|null (default: null)
    

loadSrcNamespaces

Tells Ecotone, if should automatically load all namespaces defined for src catalog

failFast

Describes if Ecotone should fail fast. If true, then Ecotone will boot all endpoints during each request, so it can inform, if configuration is incorrect immediately, it provides fast feedback for the developer. if false, then Ecotone will not boot up any endpoints at each request, which will increase performance, but will results in slower feedback for the developer.

namespaces

List of namespace prefixes, that Ecotone should look attributes for.

defaultSerializationMediaType

Describes default serialization type within application. If not configured default serialization will be application/x-php-serialized,which is serialized PHP class.

defaultErrorChannel

Provides default Poller configuration with error channel for all asynchronous consumers.

defaultMemoryLimit

Provides default memory limit in megabytes for all asynchronous consumers.

defaultConnectionExceptionRetry

Provides default connection retry strategy for asynchronous consumers in case of connection failure.

initialDelay - delay after first retry in milliseconds multiplier - how much initialDelay should be multipled with each try maxAttempts - How many attemps should be done, before closing closing endpoint

serviceName

If you're running distributed services (microservices) and want to use Ecotone's capabilities for integration, then provide name for the service (application).

skippedModulePackageNames

Skip list of given module package names (CheckModulePackageList for available packages).

test

Should test mode be enabled, so MessagingTestSupport can be used.

licenceKey

Provides access to Enterprise Feature of Ecotone.

Using Environment Variables in Attributes

Ecotone attributes are compiled into the Symfony container, so you can reference Symfony's %env(...)% placeholders directly inside attribute arguments. Ecotone keeps the value as a regular container argument, and Symfony resolves it from the environment — just like any other service argument.

This is useful when a value such as a Kafka topic or an error channel name should differ per environment.

The same applies to any other attribute argument, for example the error channel name:

Declare the variables as you would any other Symfony environment variable:

The %env(...)% placeholder needs to be present when the container is compiled; its value is read from the environment at runtime, so changing the value does not require clearing the cache.

Last updated

Was this helpful?