Brighter
Brighter copied to clipboard
Implement a `CombinedProducerRegistryFactory` for using multiple message transports [v10]
This resolves #3257 by introducing the concept of a message producer factory for each supported message transport, implementing the new IAmAMessageProducerFactory interface. It also introduces the CombinedProducerRegistryFactory, which takes any number of IAmAMessageProducerFactory implementations to its constructor, and produces a ProducerRegistry containing all of the producers created by those factories.
This makes it possible to publish to multiple message transports from a single Brighter instance, without having to construct and then combine separate producer registries, each of which could fall out of scope and result in exceptions.