¿Cómo inyectar un selector de mensajes al bean de escucha de mensajes en la integración jms-spring?

Estoy trabajando con JMS API (con HornetQ) y estoy usando Spring Beans para el contenedor de escucha de mensajes y escucha de mensajes:

<bean id="messageListener" class="core.messaging.handler.MessageListener">
    <property name="postCommandService" ref="postCommandService" />
</bean>

<bean id="messageSender"
    class="lsn.messaging.sender.MessageSender">
    <property name="connectionFactory" ref="connectionFactory" />
    <property name="destination" ref="destination" />
</bean>

<bean id="msgListenerContainer"
  class="org.springframework.jms.listener.DefaultMessageListenerContainer" 
  p:connectionFactory-ref="connectionFactory"
  p:destination-ref="destination"
  p:messageListener-ref="messageListener"
  p:concurrentConsumers="10"
  p:maxConcurrentConsumers="50"
  p:receiveTimeout="5000"
  p:idleTaskExecutionLimit="10"
  p:idleConsumerLimit="5" />

Si quiero que mi escucha de mensajes, solo consuma mensajes específicos (que tienen la misma StringProperty), ¿qué debo hacer? ¿Dónde debo definir selector?

Tengo la siguiente solución, pero no tengo MessageConsumer y, por lo tanto, no puedo agregarle un selector:

     String redSelector = "color='red'";

     MessageConsumer redConsumer = session.createConsumer(queue, redSelector);
     redConsumer.setMessageListener(new SimpleMessageListener("red"));

     TextMessage redMessage = session.createTextMessage("Red");
     redMessage.setStringProperty("color", "red");

     producer.send(redMessage);

Respuestas a la pregunta(1)

Su respuesta a la pregunta