A
ProducerConsumer
is a component that both sends messages to and receives messages from a particular destination.