Selección y filtrado de mensajes
La selección y filtrado de mensajes se pueden producir cuando un consumidor se conecta a un destino.
Cuando se conecta a un destino, un consumidor puede proporcionar un "selector", una expresión de filtro que indica los mensajes que puede aceptar. La expresión de filtro es un predicado que hace referencia a campos con nombre en la cabecera o cuerpo del mensaje. Un ejemplo concreto de esto se produce en el campo de publicación/suscripción, donde las aplicaciones que se suscriben expresan generalmente un interés en uno o más temas y el selector actúa como filtro en el campo del tema de la cabecera de un mensaje. En JMS 1.1, las expresiones del selector se limitan a campos de referencia en la cabecera JMS y las propiedades JMS del mensaje JMS; no hay acceso al cuerpo del mensaje.
Cuando se utiliza el proveedor de mensajería predeterminado, un tema es un identificador que un generador pone en la cabecera de un mensaje para permitir la selección de mensajes por parte de los consumidores. Los temas se agrupan en espacios de nombres de tema, con una estructura jerárquica de árbol con una sola raíz. De esta manera, un suscriptor (consumidor) puede conectarse con un selector de comodín que coincida en espacio de nombres de tema, o en un subárbol de ese espacio de nombres.