Files
spring-boot-rest/spring-amqp-simple/src/main/java/com/baeldung/springamqpsimple/SpringAmqpConfig.java
geroza a1b5d77656 Migrated the following modules, nos using parent-boot-2:
spring-protobuf
spring-mockito
spring-mustache
spring-kafka
spring-jooq
spring-cucumber
spring-aop
spring-amqp-simple
2018-12-22 10:36:08 -02:00

52 lines
1.8 KiB
Java

package com.baeldung.springamqpsimple;
import org.springframework.amqp.core.Binding;
import org.springframework.amqp.core.BindingBuilder;
import org.springframework.amqp.core.DirectExchange;
import org.springframework.amqp.core.Exchange;
import org.springframework.amqp.core.Queue;
import org.springframework.amqp.rabbit.connection.ConnectionFactory;
import org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer;
import org.springframework.amqp.rabbit.listener.adapter.MessageListenerAdapter;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
@Configuration
@Profile("!test")
public class SpringAmqpConfig {
public final static String queueName = "com.baeldung.spring-amqp-simple.queue";
public final static String exchangeName = "com.baeldung.spring-amqp-simple.exchange";
@Bean
Queue queue() {
return new Queue(queueName, false);
}
@Bean
Exchange exchange() {
return new DirectExchange(exchangeName);
}
@Bean
Binding binding(Queue queue, DirectExchange exchange) {
return BindingBuilder.bind(queue).to(exchange).with(queueName);
}
@Bean
SimpleMessageListenerContainer SpringAmqpContainer(ConnectionFactory connectionFactory,
MessageListenerAdapter listenerAdapter) {
SimpleMessageListenerContainer container = new SimpleMessageListenerContainer();
container.setConnectionFactory(connectionFactory);
container.setQueueNames(queueName);
container.setMessageListener(listenerAdapter);
return container;
}
@Bean
MessageListenerAdapter listenerAdapter(MessageConsumer messageReceiver) {
return new MessageListenerAdapter(messageReceiver, "receiveMessage");
}
}