An application is using Messaging to transfer different types of data, such as different types of documents.
How can the application send a data item such that the receiver will know how to process it?
Use a separate Datatype Channel for each data type, so that all data on a particular channel is of the same type.
By using a separate Datatype Channel for each type of data, all of the messages on a given channel will contain the same type of data. The sender, knowing what type the data is, will need to select the appropriate channel to send it on. The receiver, knowing what channel the data was received on, will know what its type is.
... Read the entire pattern in the book Enterprise Integration Patterns
Related patterns:
Canonical Data Model, Command Message, Format Indicator, Message Channel, Message Dispatcher, Selective Consumer, Messaging