Skip to content

Instantly share code, notes, and snippets.

@jonashackt
Created December 4, 2015 13:19
Show Gist options
  • Save jonashackt/9b555ee004d43447477d to your computer and use it in GitHub Desktop.
Save jonashackt/9b555ee004d43447477d to your computer and use it in GitHub Desktop.
RabbitMQ Configuration in Spring with Annotations
@Configuration
@EnableRabbit
public class MessagingConfiguration implements RabbitListenerConfigurer {
public static final String queueNameComputerPlayer = "microplode-newgame-event-computerplayer";
@Autowired
public ConnectionFactory connectionFactory;
/*
* We are using Annotation-Driven-Message-Listening, described here
* http://docs.spring.io/spring-amqp/reference/htmlsingle/#async-annotation-driven
*/
@Bean
public SimpleRabbitListenerContainerFactory rabbitListenerContainerFactory() {
SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory();
factory.setConnectionFactory(connectionFactory);
factory.setConcurrentConsumers(3);
factory.setMaxConcurrentConsumers(10);
return factory;
}
@Bean
public EventResultHandler eventResultHandler() {
return new EventResultHandler();
}
@Override
public void configureRabbitListeners(RabbitListenerEndpointRegistrar registrar) {
registrar.setMessageHandlerMethodFactory(myHandlerMethodFactory());
}
@Bean
public DefaultMessageHandlerMethodFactory myHandlerMethodFactory() {
DefaultMessageHandlerMethodFactory factory = new DefaultMessageHandlerMethodFactory();
factory.setMessageConverter(new MappingJackson2MessageConverter());
return factory;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment