title: ActiveMQ Request-Reply timeout
body: <p>I have this activeMQ issue where I send a request to a remote broker (from a Camel Application). See config below:</p>
  
  <pre><code>&lt;bean id="providerJMSConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory"&gt;
      &lt;property name="alwaysSessionAsync" value="false"/&gt;
      &lt;property name="alwaysSyncSend" value="true"/&gt;
      &lt;property name="brokerURL"&gt;&lt;value&gt;${remote-broker-url}&lt;/value&gt;&lt;/property&gt;
      &lt;property name="clientID" value=""/&gt;
      &lt;property name="closeTimeout" value="150000"/&gt;
      &lt;property name="copyMessageOnSend" value="true"/&gt;
      &lt;property name="disableTimeStampsByDefault" value="false"/&gt;
      &lt;property name="dispatchAsync" value="false"/&gt;
      &lt;property name="objectMessageSerializationDefered" value="false"/&gt;
      &lt;property name="optimizeAcknowledge" value="true"/&gt;
      &lt;property name="optimizedMessageDispatch" value="true"/&gt;
      &lt;property name="password" value=""/&gt;
      &lt;property name="producerWindowSize" value="0"/&gt;
      &lt;property name="statsEnabled" value="false"/&gt;
      &lt;property name="useAsyncSend" value="false"/&gt;
      &lt;property name="useCompression" value="false"/&gt;
      &lt;property name="useRetroactiveConsumer" value="false"/&gt;
      &lt;property name="userName" value=""/&gt;
      &lt;property name="watchTopicAdvisories" value="true"/&gt;
      &lt;property name="sendTimeout" value="0"/&gt;
  &lt;/bean&gt;
  
  &lt;bean id="aeroProviderJMSConfig" class="org.apache.camel.component.jms.JmsConfiguration"&gt;
      &lt;property name="connectionFactory" ref="providerJMSConnectionFactory"/&gt;
      &lt;property name="deliveryPersistent" value="true"/&gt;
      &lt;property name="explicitQosEnabled" value="true"/&gt;      
      &lt;property name="priority" value="${jms-message-priority}"/&gt;
      &lt;property name="acceptMessagesWhileStopping" value="false"/&gt;    
  &lt;/bean&gt;
  &lt;bean id="providerJMS" class="org.apache.camel.component.jms.JmsComponent"&gt;
      &lt;property name="configuration" ref="providerJMSConfig"/&gt;        
  &lt;/bean&gt;
  
   &lt;osgi:camelContext xmlns="http://camel.apache.org/schema/spring" trace="true"&gt;
     &lt;endpoint id="providerEndpoint" uri="providerJMS:queue:provider?replyTo=providerResponse&amp;requestTimeout=120000"/&gt;
         &lt;route&gt;
      &lt;from .....&gt;
       &lt;to ref="providerEndpoint"/&gt;
     ....
      &lt;/route&gt;
  </code></pre>
  
  <p>Whenever I check the "providerResponse" queue on the remote broker, I realise the resposne message is never picked up. it remains in the message even I had asked response messages be queued in there (which was actually done).</p>
  
  <p>My question is, why will the Camel refuse to get this message from this queue?
  Note that Exchange pattern was explicitly set to InOut.</p>
  
  <p>I noticed it said the CorrelationID were not the same even though I check the JMSCorrelationID for the request and the response which look the same to me.</p>
  
  <p>Is there an alternate Selector I can use for matching JMS Request/Reply response?</p>