Instead of setting producer configuration properties directly in the same application code (as shown in prior code examples), it is best to have separate code for managing the configuration of the producer. For example, this code could read a configuration file in a format such as JSON, XML, or text. The configuration file should contain everything you need to configure the producer, such as the name of the builder, all the properties (name-value pairs) that you want to go into the builder, and all the per-topic configuration properties. Your application can then read the file and instantiate a producer with those properties. Property settings can easily be changed by modifying the configuration file. This allows you to replace the configuration, without having to change your application code.