Hi
This is really an activemq question, but the short answer is to clear the
DLQ periodically.

Cheers

On 05 Jun 2017 09:54, "tnk" <jus...@gmail.com> wrote:

> Hi,
>
>  i have simple camel route, which reads from activemq queue and sends email
> messages, if exception occurs message is moved to dead letter queue. The
> problem is, store percent usage is very high. 10 messages in DLQ consumes
> 30% store (limit for storage is 1 gb), it is ~30mb for one message, but the
> message is really small (about 250 text characters in the body).
>
> Any ideas why and how to fix this?
>
> Using servicemix v5.3.1, camel v2.13.3, active mq 5.10.0. CentOS 6.6.
>
> camel context:
> <camelContext id="email-camel-context"
> xmlns="http://camel.apache.org/schema/spring";>
>
>         <endpoint id="smtpEndpoint"
> uri="smtp://${smtp.host}:${smtp.port}?from=${from.email}&
> amp;contentType=${content.type}"
> />
>
>         <camel:route id="email-sending-route" errorHandlerRef="
> mailErrorHandler">
>                 <camel:from uri="amq:queue:email.outgoing?disableReplyTo=true"
> />
>                 <camel:transacted ref="requires_new" />
>                 <camel:setExchangePattern pattern="InOnly" />
>                 <camel:removeHeaders pattern="JMS*" />
>                 <log message="Sending email message to ${header.to}"
> loggingLevel="INFO"
> logName="log.integration.email"/>
>
>                 <camel:doTry>
>                         <camel:to ref="smtpEndpoint" />
>                         <camel:doCatch>
>                                 <camel:exception>java.lang.
> Exception</camel:exception>
>                                 <camel:handled><camel:
> constant>false</camel:constant></camel:handled>
>                                 <log message="Sending email message to ${
> header.to} FAILED."
> loggingLevel="ERROR" logName="log.integration.email"/>
>                                 <camel:rollback markRollbackOnly="true" />
>                         </camel:doCatch>
>                 </camel:doTry>
>         </camel:route>
> </camelContext>
>
> <bean id="mailErrorHandler"
> class="org.apache.camel.builder.DeadLetterChannelBuilder">
>         <property name="deadLetterUri" value="jms:queue:email.outgoing.dlq"
> />
>         <property name="redeliveryPolicy" ref="emailRedeliveryConfig" />
> </bean>
>
> <bean id="emailRedeliveryConfig"
> class="org.apache.camel.processor.RedeliveryPolicy">
>         <property name="maximumRedeliveries" value="3"/>
>         <property name="redeliveryDelay" value="5000"/>
> </bean>
>
> <bean id="requires_new"
> class="org.apache.camel.spring.spi.SpringTransactionPolicy">
>         <property name="transactionManager" ref="jmsTransactionManager" />
>         <property name="propagationBehaviorName"
> value="PROPAGATION_REQUIRES_NEW"
> />
> </bean>
>
> <bean id="amq"
> class="org.apache.activemq.camel.component.ActiveMQComponent">
>         <property name="connectionFactory" ref="jmsConnectionFactory" />
>         <property name="transacted" value="true" />
>         <property name="transactionManager" ref="jmsTransactionManager"/>
>         <property name="configuration" ref="jmsConfig" />
> </bean>
>
> <bean id="jmsTransactionManager"
> class="org.springframework.jms.connection.JmsTransactionManager">
>         <property name="connectionFactory" ref="jmsConnectionFactory" />
> </bean>
>
> <bean id="shutdown" class="org.apache.camel.impl.DefaultShutdownStrategy">
>         <property name="timeout" value="30" />
> </bean>
>
> <bean id="jmsConnectionFactory"
> class="org.apache.activemq.ActiveMQConnectionFactory">
>         <property name="brokerURL" value="${activemq.broker.url}" />
>         <property name="userName" value="${activemq.user}" />
>         <property name="password" value="${activemq.password}" />
>         <property name="watchTopicAdvisories" value="false" />
> </bean>
>
> <bean id="pooledConnectionFactory"
> class="org.apache.activemq.pool.PooledConnectionFactory"
> init-method="start"
> destroy-method="stop">
>         <property name="maxConnections" value="2" />
>         <property name="connectionFactory" ref="jmsConnectionFactory" />
> </bean>
>
> <bean id="jmsConfig"
> class="org.apache.camel.component.jms.JmsConfiguration">
>         <property name="connectionFactory" ref="pooledConnectionFactory" />
>         <property name="transacted" value="true" />
>         <property name="concurrentConsumers" value="1" />
>         <property name="deliveryPersistent" value="true" />
>         <property name="requestTimeout" value="10000" />
>         <property name="cacheLevelName"  value="CACHE_CONSUMER" />
> </bean>
>
>
>
> --
> View this message in context: http://camel.465427.n5.nabble.
> com/activemq-store-percent-is-very-high-tp5801821.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>

Reply via email to