@@ -0,0 +1,2143 @@
+package org.librairy.eventbus.rabbitmq;%0A%0Aimport com.rabbitmq.client.*;%0Aimport org.slf4j.Logger;%0Aimport org.slf4j.LoggerFactory;%0A%0A/**%0A * Created on 12/04/16:%0A *%0A * @author cbadenes%0A */%0Apublic class RabbitMQExceptionHandler implements ExceptionHandler %7B%0A%0A    private static final Logger LOG = LoggerFactory.getLogger(RabbitMQExceptionHandler.class);%0A%0A    @Override%0A    public void handleUnexpectedConnectionDriverException(Connection connection, Throwable throwable) %7B%0A        LOG.error(%22Unexpected Connection Driver Error on RabbitMQ: %22 + connection, throwable);%0A    %7D%0A%0A    @Override%0A    public void handleReturnListenerException(Channel channel, Throwable throwable) %7B%0A        LOG.error(%22Return Listener Error on RabbitMQ: %22 + channel, throwable);%0A    %7D%0A%0A    @Override%0A    public void handleFlowListenerException(Channel channel, Throwable throwable) %7B%0A        LOG.error(%22Flow Listener Error on RabbitMQ: %22 + channel, throwable);%0A    %7D%0A%0A    @Override%0A    public void handleConfirmListenerException(Channel channel, Throwable throwable) %7B%0A        LOG.error(%22Confirm Listener Error on RabbitMQ: %22 + channel, throwable);%0A    %7D%0A%0A    @Override%0A    public void handleBlockedListenerException(Connection connection, Throwable throwable) %7B%0A        LOG.error(%22Blocked Listener Error on RabbitMQ: %22 + connection, throwable);%0A    %7D%0A%0A    @Override%0A    public void handleConsumerException(Channel channel, Throwable throwable, Consumer consumer, String s, String s1) %7B%0A        LOG.error(%22Consumer Error on RabbitMQ: %22 + channel, throwable);%0A    %7D%0A%0A    @Override%0A    public void handleConnectionRecoveryException(Connection connection, Throwable throwable) %7B%0A        LOG.error(%22Connection Recovery Error on RabbitMQ: %22 + connection, throwable);%0A    %7D%0A%0A    @Override%0A    public void handleChannelRecoveryException(Channel channel, Throwable throwable) %7B%0A        LOG.error(%22Channel Recovery Error on RabbitMQ: %22 + channel, throwable);%0A    %7D%0A%0A    @Override%0A    public void handleTopologyRecoveryException(Connection connection, Channel channel, TopologyRecoveryException e) %7B%0A        LOG.error(%22Topology Recovery Error on RabbitMQ: %22 + connection, e);%0A    %7D%0A%7D%0A

set an executor service for RabbitMQ consumers