When your application design needs to categorize the different messages, you can use the JMS message selectors. This allows the application to receive only those messages that contain specific information and to ignore the rest. When you have messages that are sent to many clients, the message consumers can create selection criteria based on the message headers. Then the JMS provider can handle the filtration work instead of the application.