Last active
September 5, 2018 06:07
-
-
Save hoangtrucit/52e0ba02027edb22f3a8dbddc7de87ac to your computer and use it in GitHub Desktop.
java-rabbitmq
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
spring.rabbitmq.host=0.0.0.0 | |
spring.rabbitmq.username=user | |
spring.rabbitmq.password=user | |
spring.rabbitmq.port=5672 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.demorabbit.demo; | |
import org.springframework.amqp.core.*; | |
import org.springframework.amqp.rabbit.annotation.RabbitListenerConfigurer; | |
import org.springframework.amqp.rabbit.connection.ConnectionFactory; | |
import org.springframework.amqp.rabbit.core.RabbitTemplate; | |
import org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistrar; | |
import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter; | |
import org.springframework.beans.factory.annotation.Qualifier; | |
import org.springframework.context.annotation.Bean; | |
import org.springframework.context.annotation.Configuration; | |
import org.springframework.messaging.converter.MappingJackson2MessageConverter; | |
import org.springframework.messaging.handler.annotation.support.DefaultMessageHandlerMethodFactory; | |
import org.springframework.messaging.handler.annotation.support.MessageHandlerMethodFactory; | |
@Configuration | |
public class RabbitConfig implements RabbitListenerConfigurer { | |
public static final String ROUTING_KEY_CREATE = "user.create"; | |
public static final String ROUTING_KEY_DELETE = "user.delete"; | |
public static final String QUEUE_ENROLMENT = "users"; | |
public static final String EXCHANGE_EVENT = "events"; | |
@Bean | |
public RabbitTemplate rabbitTemplate(final ConnectionFactory connectionFactory) { | |
final RabbitTemplate rabbitTemplate = new RabbitTemplate(connectionFactory); | |
rabbitTemplate.setMessageConverter(producerJackson2MessageConverter()); | |
return rabbitTemplate; | |
} | |
@Bean | |
public Jackson2JsonMessageConverter producerJackson2MessageConverter() { | |
return new Jackson2JsonMessageConverter(); | |
} | |
@Bean | |
MessageHandlerMethodFactory messageHandlerMethodFactory() { | |
DefaultMessageHandlerMethodFactory messageHandlerMethodFactory = new DefaultMessageHandlerMethodFactory(); | |
messageHandlerMethodFactory.setMessageConverter(consumerJackson2MessageConverter()); | |
return messageHandlerMethodFactory; | |
} | |
@Override | |
public void configureRabbitListeners(RabbitListenerEndpointRegistrar registrar) { | |
registrar.setMessageHandlerMethodFactory(messageHandlerMethodFactory()); | |
} | |
@Bean | |
public MappingJackson2MessageConverter consumerJackson2MessageConverter() { | |
return new MappingJackson2MessageConverter(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment