Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package com.smartdukaan.cron.services.razorpayx;import org.springframework.amqp.core.*;import org.springframework.amqp.rabbit.annotation.EnableRabbit;import org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory;import org.springframework.amqp.rabbit.connection.CachingConnectionFactory;import org.springframework.amqp.rabbit.connection.ConnectionFactory;import org.springframework.amqp.rabbit.core.RabbitTemplate;import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.Primary;@EnableRabbit@Configurationpublic class RabbitConfig {public static final String TXN_QUEUE = "transaction.queue";public static final String TXN_EXCHANGE = "transaction.exchange";public static final String TXN_ROUTING_KEY = "transaction.key";@Beanpublic ConnectionFactory connectionFactory() {return new CachingConnectionFactory("localhost");}@Beanpublic Queue transactionQueue() {return new Queue(TXN_QUEUE, true);}@Beanpublic DirectExchange transactionExchange() {return new DirectExchange(TXN_EXCHANGE);}@Beanpublic Binding transactionBinding(Queue transactionQueue, DirectExchange transactionExchange) {return BindingBuilder.bind(transactionQueue).to(transactionExchange).with(TXN_ROUTING_KEY);}@Beanpublic Jackson2JsonMessageConverter jsonConverter() {return new Jackson2JsonMessageConverter();}@Bean@Primarypublic RabbitTemplate rabbitTemplate(ConnectionFactory connectionFactory) {RabbitTemplate template = new RabbitTemplate(connectionFactory);template.setMessageConverter(jsonConverter());System.out.println(">>> RabbitTemplate is using: " + template.getMessageConverter());return template;}}