If RM invokes afterDelivery twice for same delivery, the thread lock maintained by EndpointProxy is aquired but never released due to throwing Exception here: https://github.com/jboss-switchyard/components/blob/1.0.0.Final/jca/src/main/java/org/switchyard/component/jca/EndpointProxy.java#L106
Apparently it causes delivery stuck on HornetQ.