Note that there are some explanatory texts on larger screens.

plurals
  1. POConsumer queue remove even though cachelevel is set to CACHE_CONSUMER
    text
    copied!<p>I realized, even after explicitly setting the property</p> <pre><code>&lt;property name="cacheLevelName" value="CACHE_CONSUMER"/&gt; </code></pre> <p>my consumer is still removed.</p> <p>See log below:</p> <pre><code>23:14:25,180 | Usage | 49 - org.apache.activemq.activemq-core - 5.5.0.fuse-00-43 | Main:memory:queue://reply:memory: usage change from: 0% of available memory, to: 1% of available memory 23:14:25,180 | Queue | 49 - org.apache.activemq.activemq-core - 5.5.0.fuse-00-43 | reply toPageIn: 1, Inflight: 0, pagedInMessages.size 2, enqueueCount: 2, dequeueCount: 1 23:14:25,180 | Queue | 49 - org.apache.activemq.activemq-core - 5.5.0.fuse-00-43 | reply toPageIn: 0, Inflight: 0, pagedInMessages.size 3, enqueueCount: 2, dequeueCount: 1 23:14:25,180 | Queue | 49 - org.apache.activemq.activemq-core - 5.5.0.fuse-00-43 | reply toPageIn: 0, Inflight: 0, pagedInMessages.size 3, enqueueCount: 2, dequeueCount: 1 23:14:25,649 | ActiveMQMessageConsumer | 49 - org.apache.activemq.activemq-core - 5.5.0.fuse-00-43 | remove: ID:TestESB-3364-1321307776420-8:1:1:84, lastDeliveredSequenceId:0 23:14:25,649 | AbstractRegion | 49 - org.apache.activemq.activemq-core - 5.5.0.fuse-00-43 | default removing consumer: ID:TestESB-3364-1321307776420-8:1:1:84 for destination: queue://routerResponse 23:14:25,649 | Queue | 49 - org.apache.activemq.activemq-core - 5.5.0.fuse-00-43 | queue://routerResponse remove sub: QueueSubscription: consumer=ID:TestESB-3364-1321307776420-8:1:1:84, destinations=1, dispatched=0, delivered=0, pending=0, lastDeliveredSeqId: 0, dequeues: 0, dispatched: 0, inflight: 0 23:14:25,649 | AbstractRegion | 49 - org.apache.activemq.activemq-core - 5.5.0.fuse-00-43 | default adding consumer: ID:TestESB-3364-1321307776420-8:1:1:85 for destination: queue://routerResponse 23:14:25,649 | Queue | 49 - org.apache.activemq.activemq-core - 5.5.0.fuse-00-43 | queue://routerResponse add sub: QueueSubscription: consumer=ID:TestESB-3364-1321307776420-8:1:1:85, destinations=0, dispatched=0, delivered=0, pending=0, dequeues: 0, dispatched: 0, inflight: 0 23:14:26,165 | ActiveMQMessageConsumer | 49 - org.apache.activemq.activemq-core - 5.5.0.fuse-00-43 | remove: ID:TestESB-3364-1321307776420-14:1:1:4, lastDeliveredSequenceId:0 23:14:26,165 | AbstractRegion | 49 - org.apache.activemq.activemq-core - 5.5.0.fuse-00-43 | default removing consumer: ID:TestESB-3364-1321307776420-14:1:1:4 for destination: queue://reply 23:14:26,165 | Queue | 49 - org.apache.activemq.activemq-core - 5.5.0.fuse-00-43 | queue://reply remove sub: QueueSubscription: consumer=ID:TestESB-3364-1321307776420-14:1:1:4, destinations=1, dispatched=0, delivered=0, pending=0, lastDeliveredSeqId: 0, dequeues: 1, dispatched: 1, inflight: 0 23:14:26,165 | Queue | 49 - org.apache.activemq.activemq-core - 5.5.0.fuse-00-43 | reply toPageIn: 0, Inflight: 0, pagedInMessages.size 3, enqueueCount: 2, dequeueCount: 1 23:14:26,165 | AbstractRegion | 49 - org.apache.activemq.activemq-core - 5.5.0.fuse-00-43 | default adding consumer: ID:TestESB-3364-1321307776420-14:1:1:5 for destination: queue://reply 23:14:26,165 | Queue | 49 - org.apache.activemq.activemq-core - 5.5.0.fuse-00-43 | queue://reply add sub: QueueSubscription: consumer=ID:TestESB-3364-1321307776420-14:1:1:5, destinations=0, dispatched=0, delivered=0, pending=0, dequeues: 1, dispatched: 1, inflight: 0 23:14:26,165 | Queue | 49 - org.apache.activemq.activemq-core - 5.5.0.fuse-00-43 | reply toPageIn: 0, Inflight: 0, pagedInMessages.size 3, enqueueCount: 2, dequeueCount: 1 23:14:26,649 | ActiveMQMessageConsumer | 49 - org.apache.activemq.activemq-core - 5.5.0.fuse-00-43 | remove: ID:TestESB-3364-1321307776420-8:1:1:85, lastDeliveredSequenceId:0 </code></pre> <p>See my camel spring config below:</p> <pre><code>&lt;bean id="providerConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory"&gt; &lt;!--&lt;property name="brokerURL"&gt;&lt;value&gt;${aero-provider-broker-url}&lt;/value&gt;&lt;/property&gt;--&gt; </code></pre> <p></p> <pre><code>&lt;bean id="providerActiveMQConfig" class="org.apache.activemq.camel.component.ActiveMQConfiguration"&gt; &lt;property name="connectionFactory" ref="providerConnectionFactory"/&gt; &lt;property name="cacheLevelName" value="CACHE_CONSUMER"/&gt; &lt;property name="concurrentConsumers" value="${jms-concurrent-consumers}"/&gt; &lt;property name="requestTimeout" value="${jms-request-timeout}"/&gt; &lt;property name="priority" value="${jms-message-priority}"/&gt; &lt;/bean&gt; &lt;bean id="providerActivemq" class="org.apache.activemq.camel.component.ActiveMQComponent"&gt; &lt;property name="configuration" ref="providerActiveMQConfig"/&gt; &lt;property name="brokerURL"&gt;&lt;value&gt;${provider-broker-url}&lt;/value&gt;&lt;/property&gt; &lt;/bean&gt; </code></pre> <p>Edit here >>>></p> <p>BEan definition:</p> <pre><code> &lt;bean id="localJMSConnectionFactory" 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;${local-broker-url}&lt;/value&gt;&lt;/property&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="false"/&gt; &lt;property name="optimizedMessageDispatch" value="true"/&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="sendTimeout" value="0"/&gt; &lt;/bean&gt; &lt;bean id="localJMSTransactionManager" class="org.springframework.jms.connection.JmsTransactionManager"&gt; &lt;property name="connectionFactory" ref="localJMSConnectionFactory" /&gt; &lt;/bean&gt; &lt;bean id="localRequestJMSConfig" class="org.apache.camel.component.jms.JmsConfiguration"&gt; &lt;property name="connectionFactory" ref="localJMSConnectionFactory"/&gt; &lt;property name="concurrentConsumers" value="${jms-concurrent-consumers}"/&gt; &lt;property name="deliveryPersistent" value="true"/&gt; &lt;property name="priority" value="9"/&gt; &lt;/bean&gt; &lt;bean id="localRequestJMS" class="org.apache.camel.component.jms.JmsComponent"&gt; &lt;property name="configuration" ref="localRequestJMSConfig"/&gt; &lt;/bean&gt; </code></pre> <p>Camel Enpoint Definition:</p> <pre><code>&lt;camel:endpoint id="jmsEndpoint" camelContextId="bohProcessorCC" uri="localRequestJMS:queue:${boh-processor-queue}"/&gt; &lt;camel:endpoint id="providerEndpoint" camelContextId="bohProcessorCC" uri="providerActivemq:queue:${generic-http-provider-queue}?exchangePattern=InOut&amp;amp;requestTimeout=${jms-request-timeout}&amp;amp;replyTo=reply"/&gt; </code></pre> <p>Camel Route:</p> <pre><code> &lt;from ref="jmsEndpoint"/&gt; &lt;bean ref="service" method="getSignInRequest"/&gt; &lt;transform&gt;&lt;simple&gt;XML=${in.body}&lt;/simple&gt;&lt;/transform&gt; &lt;inOut ref="providerEndpoint"/&gt; &lt;bean ref="service" method="getSignInResponseData"/&gt; &lt;bean ref="utilityServicesBean" method="process"/&gt; &lt;bean ref="service" method="getPassword"/&gt; &lt;inOut ref="providerEndpoint"/&gt; &lt;bean ref="camelPropertyEnricherBean" method="addCustReference"/&gt; &lt;bean ref="camelPropertyEnricherBean" method="normalizeXML"/&gt; &lt;inOut ref="providerEndpoint"/&gt; </code></pre> <p>On the second call, the exchange times out, usually saying timeout. Typically there is response on the reply queue but the log says correlation id doesnt match. I noticed that if I ask camel to set the message id as correlation id just before calling the provider endpoint, it usually returns with a message. Even that fails sometimes when there are high traffic.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload