Example usage for com.rabbitmq.client ConsumerCancelledException ConsumerCancelledException

List of usage examples for com.rabbitmq.client ConsumerCancelledException ConsumerCancelledException

Introduction

In this page you can find the example usage for com.rabbitmq.client ConsumerCancelledException ConsumerCancelledException.

Prototype

ConsumerCancelledException

Source Link

Usage

From source file:pl.nask.hsn2.DataStoreActiveCleanerTest.java

License:Open Source License

@SuppressWarnings({ "rawtypes", "unused" })
private void mockObjects() throws Exception {
    connCloseRequested = false;//from   ww  w. j  a  va  2  s .c o m
    new NonStrictExpectations() {
        @Mocked
        ConnectionFactory cf;
        {
            // Create new connection.
            cf.newConnection();
            result = c;

            // Create channel.
            c.createChannel();
            result = ch;

            // Close connection.
            c.close();
            forEachInvocation = new Object() {
                void validate() {
                    connCloseRequested = true;
                }
            };

            // Declare exchange.
            ch.exchangeDeclare(anyString, anyString);

            // Declare queue.
            ch.queueDeclare();
            result = dok;

            // Get queue name.
            dok.getQueue();

            consumer.nextDelivery();
            result = new Delegate() {
                public Delivery nextDelivery() throws Exception {
                    Thread.sleep(100);
                    Delivery d = null;
                    Envelope envelope;
                    BasicProperties properties;
                    JobFinished jf;
                    byte[] body;
                    switch (nextAction) {
                    case TASK_ACCEPTED:
                        d = taskAcceptedMsg();
                        nextAction = CleaningActions.REMOVE_JOB_1;
                        break;
                    case REMOVE_JOB_1:
                        d = removeJobFinished(1, JobStatus.COMPLETED);
                        nextAction = CleaningActions.REMOVE_JOB_2;
                        break;
                    case REMOVE_JOB_2:
                        d = removeJobFinishedReminder(2);
                        nextAction = CleaningActions.CANCEL;
                        break;
                    case REMOVE_JOB_3:
                        d = removeJobFinished(3, JobStatus.COMPLETED);
                        nextAction = CleaningActions.REMOVE_JOB_3_AGAIN;
                        break;
                    case REMOVE_JOB_3_AGAIN:
                        d = removeJobFinished(3, JobStatus.COMPLETED);
                        nextAction = CleaningActions.CANCEL;
                        break;
                    case REMOVE_JOB_4:
                        d = removeJobFinished(4, JobStatus.COMPLETED);
                        nextAction = CleaningActions.CANCEL;
                        break;
                    case REMOVE_JOB_5:
                        d = removeJobFinished(5, JobStatus.FAILED);
                        nextAction = CleaningActions.CANCEL;
                        break;
                    case NEVER_RETURN:
                        while (true) {
                            LOGGER.debug("Never return...");
                            Thread.sleep(10000);
                        }
                    case CANCEL:
                        throw new ConsumerCancelledException();
                    case INTERRUPT:
                        throw new InterruptedException("Test interruption");
                    case SHUTDOWN:
                        throw new ShutdownSignalException(false, false, null, null);
                    case IO_EXCEPTION:
                        throw new IOException("Test I/O exception");
                    }
                    return d;
                }

                private Delivery taskAcceptedMsg() {
                    Delivery d;
                    Envelope envelope;
                    BasicProperties properties;
                    JobFinished jf;
                    byte[] body;
                    envelope = new Envelope(1, false, "", "");
                    properties = new BasicProperties.Builder().type("TaskAccepted").build();
                    body = new byte[] { 1 };
                    d = new Delivery(envelope, properties, body);
                    return d;
                }

                private Delivery removeJobFinished(long jobId, JobStatus status) {
                    Delivery d;
                    Envelope envelope;
                    BasicProperties properties;
                    JobFinished jf;
                    byte[] body;
                    envelope = new Envelope(1, false, "", "");
                    properties = new BasicProperties.Builder().type("JobFinished").build();
                    jf = JobFinished.newBuilder().setJob(jobId).setStatus(status).build();
                    body = jf.toByteArray();
                    d = new Delivery(envelope, properties, body);
                    return d;
                }

                private Delivery removeJobFinishedReminder(long jobId) {
                    Delivery d;
                    Envelope envelope;
                    BasicProperties properties;
                    byte[] body;
                    envelope = new Envelope(1, false, "", "");
                    properties = new BasicProperties.Builder().type("JobFinishedReminder").build();
                    JobFinishedReminder jfr = JobFinishedReminder.newBuilder().setJob(jobId)
                            .setStatus(JobStatus.COMPLETED).build();
                    body = jfr.toByteArray();
                    d = new Delivery(envelope, properties, body);
                    return d;
                }
            };
        }
    };
}