JMS Consumer Snap

I need to acknowledge documents from JMS Consumer snap after completion of pipeline rather than auto acknowledge to avoid data loss in case of any pipeline failure . While I use option ‘Client Acknowledge’ with ‘asynchronous’ processing type option as I found in snaplogic docs,the setting to use JMS Acknowledge snap in case we want to keep records. The performance of my pipeline degrade badly. I just had 2 records to read and even after an hour only 1 records processed. Any suggestion how to resolve this situation.