Rev 34860 | 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.beans.factory.annotation.Value;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(@Value("${spring.rabbitmq.host}") String host,@Value("${spring.rabbitmq.port}") int port,@Value("${spring.rabbitmq.username}") String username,@Value("${spring.rabbitmq.password}") String password) {CachingConnectionFactory factory = new CachingConnectionFactory(host, port);factory.setUsername(username);factory.setPassword(password);return factory;}@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;}}