External Configuration Pattern

Learn the External Configuration design pattern and its usage.


It is used to parameterize the configuration information of an application and externalize it from the deployment archive. The External Configuration pattern is also known as the External Configuration Store.

Context and problem

A very simplified view of an integration application is that it moves data from source to target. While doing so, the application splits messages, aggregates them, does data transformation, handles errors, and may perform a number of retries. The endpoint details differ while developing and deploying this application from development to production environments, and other configuration options and tuning details need to vary. During the application’s lifetime, the team gets more insight into the application’s behavior, and further tuning is needed. Configuring the same binaries to run in different environments, and tuning them during production maintenance windows without changing the actual binaries, requires externalizing multiple configuration options, even those that might not seem likely to change.

Get hands-on with 1200+ tech skills courses.