Example usage for org.springframework.amqp.rabbit.core RabbitTemplate setMessageConverter

List of usage examples for org.springframework.amqp.rabbit.core RabbitTemplate setMessageConverter

Introduction

In this page you can find the example usage for org.springframework.amqp.rabbit.core RabbitTemplate setMessageConverter.

Prototype

public void setMessageConverter(MessageConverter messageConverter) 

Source Link

Document

Set the message converter for this template.

Usage

From source file:io.acme.solution.application.conf.CommandBusConfigurer.java

@Bean
@Autowired//  w ww  .  j a  va  2 s. com
public RabbitTemplate commandBusRabbitTemplate(final ConnectionFactory commandBusConnectionFactory,
        final MessageConverter commandBusMessageConverter) {

    log.info("Creating command bus RabbitMQ template with a custom JSON converter");
    final RabbitTemplate rabbitTemplate = new RabbitTemplate(commandBusConnectionFactory);
    rabbitTemplate.setMessageConverter(commandBusMessageConverter);

    return rabbitTemplate;
}

From source file:org.cloudfoundry.workers.stocks.integration.client.ClientConfiguration.java

@Bean
public RabbitTemplate amqpTemplate() throws Throwable {
    RabbitTemplate rabbitTemplate = new RabbitTemplate(
            rabbitConnectionFactoryConfiguration.connectionFactory());
    rabbitTemplate.setMessageConverter(mc());
    return rabbitTemplate;
}

From source file:org.springframework.cloud.netflix.hystrix.amqp.HystrixStreamAutoConfiguration.java

public RabbitTemplate amqpTemplate() {
    if (this.amqpTemplate == null) {
        RabbitTemplate amqpTemplate = new RabbitTemplate(connectionFactory());
        Jackson2JsonMessageConverter converter = messageConverter();
        amqpTemplate.setMessageConverter(converter);
        this.amqpTemplate = amqpTemplate;
    }// w  w  w .j  a  v a  2s .  co  m
    return this.amqpTemplate;
}

From source file:com.nkapps.billing.configs.RabbitMQConfig.java

@Bean
public RabbitTemplate rabbitTemplate() {
    RabbitTemplate template = new RabbitTemplate(connectionFactory());

    template.setExchange(BILLING_EXCHANGE);
    template.setMessageConverter(rabbitMessageConverter());

    return template;
}

From source file:amqp.spring.camel.component.SpringAMQPConsumerTest.java

@Override
protected CamelContext createCamelContext() throws Exception {
    CachingConnectionFactory factory = new CachingConnectionFactory();
    RabbitTemplate amqpTemplate = new RabbitTemplate(factory);
    //The JSON converter stresses marshalling more than the default converter
    amqpTemplate.setMessageConverter(new JsonMessageConverter());
    SpringAMQPComponent amqpComponent = new SpringAMQPComponent(factory);
    amqpComponent.setAmqpTemplate(amqpTemplate);

    CamelContext camelContext = super.createCamelContext();
    camelContext.addComponent("spring-amqp", amqpComponent);
    return camelContext;
}

From source file:org.springframework.amqp.rabbit.listener.MessageListenerContainerMultipleQueueIntegrationTests.java

private void doTest(int concurrentConsumers, ContainerConfigurer configurer) {
    int messageCount = 10;
    RabbitTemplate template = new RabbitTemplate();
    CachingConnectionFactory connectionFactory = new CachingConnectionFactory();
    connectionFactory.setChannelCacheSize(concurrentConsumers);
    connectionFactory.setPort(BrokerTestUtils.getPort());
    template.setConnectionFactory(connectionFactory);
    SimpleMessageConverter messageConverter = new SimpleMessageConverter();
    messageConverter.setCreateMessageIds(true);
    template.setMessageConverter(messageConverter);
    for (int i = 0; i < messageCount; i++) {
        template.convertAndSend(queue1.getName(), new Integer(i));
        template.convertAndSend(queue2.getName(), new Integer(i));
    }//from  w w w.  j a  va  2s .c o  m
    final SimpleMessageListenerContainer container = new SimpleMessageListenerContainer(connectionFactory);
    final CountDownLatch latch = new CountDownLatch(messageCount * 2);
    PojoListener listener = new PojoListener(latch);
    container.setMessageListener(new MessageListenerAdapter(listener));
    container.setAcknowledgeMode(AcknowledgeMode.AUTO);
    container.setChannelTransacted(true);
    container.setConcurrentConsumers(concurrentConsumers);
    configurer.configure(container);
    container.afterPropertiesSet();
    container.start();
    try {
        int timeout = Math.min(1 + messageCount / concurrentConsumers, 30);
        boolean waited = latch.await(timeout, TimeUnit.SECONDS);
        logger.info("All messages recovered: " + waited);
        assertEquals(concurrentConsumers, container.getActiveConsumerCount());
        assertTrue("Timed out waiting for messages", waited);
    } catch (InterruptedException e) {
        Thread.currentThread().interrupt();
        throw new IllegalStateException("unexpected interruption");
    } finally {
        container.shutdown();
        assertEquals(0, container.getActiveConsumerCount());
    }
    assertNull(template.receiveAndConvert(queue1.getName()));
    assertNull(template.receiveAndConvert(queue2.getName()));
}

From source file:org.springframework.amqp.rabbit.listener.SimpleMessageListenerWithRabbitMQ.java

public static void main(String[] args) throws InterruptedException {
    CachingConnectionFactory connectionFactory = new CachingConnectionFactory("localhost");
    connectionFactory.setHost("localhost");
    connectionFactory.setUsername("guest");
    connectionFactory.setPassword("guest");
    assertNotNull(connectionFactory);// w w  w .j  a v a  2s. c  o m

    MessageConverter messageConverter = new SimpleMessageConverter();
    MessageProperties messageProperties = new MessageProperties();
    messageProperties.setContentType(MessageProperties.CONTENT_TYPE_TEXT_PLAIN);

    SimpleMessageListenerContainer container = new SimpleMessageListenerContainer();
    container.setConnectionFactory(connectionFactory);
    container.setQueueNames("foo");
    container.setPrefetchCount(1000);
    container.setTxSize(500);
    container.setAcknowledgeMode(AcknowledgeMode.AUTO);
    container.setConcurrentConsumers(20);
    container.setMessageListener(new MessageListenerAdapter(new SimpleAdapter(), messageConverter));
    container.start();

    RabbitTemplate template = new RabbitTemplate(connectionFactory);
    template.setMessageConverter(messageConverter);
    List<BlockingQueue<?>> queues = getQueues(container);

    Thread.sleep(10000);
    int n = 0;
    while (true) {
        for (int i = 1; i <= 200; i++) {

            template.send("foo", "",
                    new Message(
                            "foo # ID: id".replace("#", String.valueOf(i))
                                    .replace("id", java.util.UUID.randomUUID().toString()).getBytes(),
                            messageProperties));

        }
        Thread.sleep(1000);
        if (++n % 10 == 0) {
            logger.warn(count(queues));
        }
    }
}