@Override public void start() { container.start(); log.trace("RabbitMQ ready to process"); }
@Override public void resume() { if (!container.isRunning()) { container.start(); } }
/** * {@inheritDoc} */ @Override public void start() { if (this.messageListenerContainer.isRunning()) { return; } this.messageListenerContainer.start(); }
public void start() { this.listenerContainer.setMessageListener(this); this.listenerContainer.start(); LOG.info("Started AMQP Async Listeners for {}", endpoint.getEndpointUri()); }
public void start() { this.listenerContainer.setMessageListener(this); this.listenerContainer.start(); LOG.info("Started AMQP Async Listeners for {}", endpoint.getEndpointUri()); }
container.setQueueNames("asyncRQ1"); container.afterPropertiesSet(); container.start(); AsyncRabbitTemplate asyncTemplate = new AsyncRabbitTemplate(template, container); asyncTemplate.setEnableConfirms(true); receiver.setMessageListener(messageListener); receiver.afterPropertiesSet(); receiver.start();
@Bean public AmqpConfiguration eventBusListenerRabbitMQConfiguration(MessageListenerAdapter messageListenerAdapter) { ExecutorService threadPoolExecutor = threadPoolExecutor(); return configurer -> { String queueName = MessageFormat.format(EventBusRabbitMQ.EVENTNBUS_LISTENER_QUEUE_TEMPLATE, env.getProperty("eventbus.listener.name")); configurer.bind(EventBusRabbitMQ.EVENTBUS_EXCHANGE, configurer.queue(queueName), Optional.empty(), Optional.empty()); SimpleMessageListenerContainer container = configurer.listenerContainer( threadPoolExecutor, configurer.setRetryOpertations(Optional.ofNullable(env.getProperty("eventbus.maxAttempts", Integer.class)), Optional.ofNullable(getBackoffOptions())), queueName); container.setQueueNames(queueName); container.setMessageListener(messageListenerAdapter); container.start(); }; }
private SimpleMessageListenerContainer createContainer(String queueName, Object listener, ConnectionFactory connectionFactory) { SimpleMessageListenerContainer container = doCreateContainer(queueName, listener, connectionFactory); container.start(); return container; }
@Test public void testStopStartConditionalDeclarations() throws Exception { RabbitTemplate template = context.getBean(RabbitTemplate.class); this.listenerContainer2.start(); template.convertAndSend("otherExchange", "otherAnon", "foo"); assertNotNull(queue.poll(10, TimeUnit.SECONDS)); this.listenerContainer2.stop(); this.listenerContainer2.start(); template.convertAndSend("otherExchange", "otherAnon", "foo"); assertNotNull(queue.poll(10, TimeUnit.SECONDS)); }
private SimpleMessageListenerContainer createContainer(MessageListener listener) { SimpleMessageListenerContainer container = createContainer(listener, queue.getName()); container.afterPropertiesSet(); container.start(); return container; }
@Test public void testStopStart() throws Exception { RabbitTemplate template = context.getBean(RabbitTemplate.class); template.convertAndSend("testContainerWithAutoDeleteQueues", "anon", "foo"); assertNotNull(queue.poll(10, TimeUnit.SECONDS)); this.listenerContainer1.stop(); RabbitAdmin admin = spy(TestUtils.getPropertyValue(this.listenerContainer1, "amqpAdmin", RabbitAdmin.class)); new DirectFieldAccessor(this.listenerContainer1).setPropertyValue("amqpAdmin", admin); this.listenerContainer1.start(); template.convertAndSend("testContainerWithAutoDeleteQueues", "anon", "foo"); assertNotNull(queue.poll(10, TimeUnit.SECONDS)); verify(admin, times(1)).initialize(); // should only be called by one of the consumers }
@Test public void testMismatchedQueue() { try { this.replyListenerContainerWrongQueue.start(); fail("expected exeption"); } catch (UncategorizedAmqpException e) { Throwable t = e.getCause(); assertThat(t, Matchers.instanceOf(IllegalStateException.class)); assertThat(t.getMessage(), Matchers.containsString("Listener expects us to be listening on '[" + TestUtils.getPropertyValue(this.fixedReplyQRabbitTemplateWrongQueue, "replyAddress") + "]'; our queues: " + Arrays.asList(this.replyListenerContainerWrongQueue.getQueueNames()))); } }
@Test public void testCharset() throws InterruptedException { TestListener testListener = (TestListener) applicationContext.getBean("testListener", 1); listenerContainer.setMessageListener(testListener); listenerContainer.start(); String foo = "\u0fff"; // UTF-8 -> 0xe0bfbf log.info(foo); assertTrue(testListener.getLatch().await(5, TimeUnit.SECONDS)); byte[] body = testListener.getMessage().getBody(); int lineSeparatorExtraBytes = System.getProperty("line.separator").getBytes().length - 1; assertEquals(0xe0, body[body.length - 5 - lineSeparatorExtraBytes] & 0xff); assertEquals(0xbf, body[body.length - 4 - lineSeparatorExtraBytes] & 0xff); assertEquals(0xbf, body[body.length - 3 - lineSeparatorExtraBytes] & 0xff); }
@Test public void testAppender() throws InterruptedException { TestListener testListener = (TestListener) applicationContext.getBean("testListener", 4); listenerContainer.setMessageListener(testListener); listenerContainer.start(); log.debug("This is a DEBUG message"); log.info("This is an INFO message"); log.warn("This is a WARN message"); log.error("This is an ERROR message", new RuntimeException("Test exception")); assertTrue(testListener.getLatch().await(5, TimeUnit.SECONDS)); assertNotNull(testListener.getId()); }
@Test public void testLazyConsumerCount() throws Exception { final SingleConnectionFactory singleConnectionFactory = new SingleConnectionFactory("localhost"); SimpleMessageListenerContainer container = new SimpleMessageListenerContainer(singleConnectionFactory) { @Override protected void doStart() { // do nothing } }; container.start(); assertEquals(1, ReflectionTestUtils.getField(container, "concurrentConsumers")); container.stop(); singleConnectionFactory.destroy(); }
private SimpleMessageListenerContainer createContainer(MessageListener listener, boolean start, String... queueNames) { SimpleMessageListenerContainer container = new SimpleMessageListenerContainer(template.getConnectionFactory()); if (listener != null) { container.setMessageListener(listener); } if (queueNames != null) { container.setQueueNames(queueNames); } container.setReceiveTimeout(50); container.afterPropertiesSet(); if (start) { container.start(); } return container; }
private SimpleMessageListenerContainer createContainer(String queueName, Object listener, ConnectionFactory connectionFactory) { SimpleMessageListenerContainer container = new SimpleMessageListenerContainer(connectionFactory); container.setMessageListener(new MessageListenerAdapter(listener)); container.setQueueNames(queueName); container.setTxSize(txSize); container.setPrefetchCount(txSize); container.setConcurrentConsumers(concurrentConsumers); container.setChannelTransacted(transactional); container.setAcknowledgeMode(acknowledgeMode); container.setTaskExecutor(Executors.newFixedThreadPool(concurrentConsumers)); container.afterPropertiesSet(); container.start(); return container; }
@Test public void testPossibleAuthenticationFailureNotFatal() { ConnectionFactory connectionFactory = mock(ConnectionFactory.class); given(connectionFactory.createConnection()) .willThrow(new AmqpAuthenticationException(new PossibleAuthenticationFailureException("intentional"))); SimpleMessageListenerContainer container = new SimpleMessageListenerContainer(); container.setConnectionFactory(connectionFactory); container.setQueueNames("foo"); container.setPossibleAuthenticationFailureFatal(false); container.start(); assertTrue(container.isActive()); assertTrue(container.isRunning()); container.destroy(); }
private SimpleMessageListenerContainer createContainer(Object listener) { SimpleMessageListenerContainer container = new SimpleMessageListenerContainer(template.getConnectionFactory()); container.setMessageListener(new MessageListenerAdapter(listener)); container.setQueueNames(queue.getName()); container.setTxSize(txSize); container.setPrefetchCount(txSize); container.setConcurrentConsumers(concurrentConsumers); container.setChannelTransacted(transactional); container.setAcknowledgeMode(AcknowledgeMode.MANUAL); container.afterPropertiesSet(); container.start(); return container; }
private SimpleMessageListenerContainer createContainer(Object listener) { SimpleMessageListenerContainer container = new SimpleMessageListenerContainer(template.getConnectionFactory()); container.setMessageListener(new MessageListenerAdapter(listener)); container.setQueueNames(queue.getName()); container.setTxSize(txSize); container.setPrefetchCount(txSize); container.setConcurrentConsumers(concurrentConsumers); container.setChannelTransacted(transactional); container.setAcknowledgeMode(AcknowledgeMode.AUTO); container.afterPropertiesSet(); container.start(); return container; }