Using asynchronous framework to communite with activeMQ for better error handling, concurrent message processing and acknowledgement, graceful shutdown