lundi 6 avril 2015

Spring Integration: JMS loosing messages in case of OutOfMemoryError: PermGen space error

I have lost JMS messages(files) which were in the spring integration pipeline flow of jms:message-driven-channel-adapter though the adapter is set to transacted mode and SI's int:exception-type-router with RuntimeException was configured, which means in case of any Runtime Exception (like PermGenError) it will consume the message, but not happend in my case.


Any help would be appreceated. .


Taking jms messages from ibm mq and after transformation sending it to another queue.



<bean id="queueTradeIn" class="com.ibm.mq.jms.MQQueue">
<constructor-arg value="${queue.name}" />
</bean>

<jms:message-driven-channel-adapter concurrent-consumers="1" id="tradeInputQueueAdaptor" destination="queueTradeIn" channel="topLevelErrorHandlerInputChannel" acknowledge="transacted" />


Exception Configuration: I am passing all the messages through topLevelErrorHandlerInputChannel.



<!-- The ErrorHandler passes the message on the input channel to the output channel. -->
<beans:bean id="topLevelErrorHandler" class="com.xxx.ErrorHandler" >
<beans:property name="errorChannel" ref="errorChannel"/>
<beans:property name="outputChannel" ref="dataProcessChain"/>
<beans:property name="throwablesToHandle" >
<beans:list>
<beans:value>java.lang.NullPointerException</beans:value>
<beans:value>org.xml.sax.SAXParseException</beans:value>
<beans:value>org.dom4j.DocumentException</beans:value>
<beans:value>com.xxx.DLQMessageException</beans:value>
<beans:value>java.lang.RuntimeException</beans:value>
</beans:list>
</beans:property>
</beans:bean>

<service-activator input-channel="topLevelErrorHandlerInputChannel" ref="topLevelErrorHandler" method="passThrough"/>
<transformer input-channel="errorChannel" method="display" ref="errorMessageConstructor" output-channel="errorLogChannel"/>

<logging-channel-adapter channel="errorLogChannel" id="rejectedLog" expression="'Message passed through!'" level="INFO"/>

Aucun commentaire:

Enregistrer un commentaire