The coordination of competing consumers depends on each messaging system’s implementation. If the client wants to implement this coordination itself, it should use a Message Dispatcher (508). Competing Consumers can be Polling Consumers (494), Event-Driven Consumers (498), or a combination thereof. Competing Transactional Clients (484) can waste significant effort processing messages whose receive operations do not commit successfully and have to be rolled back.

