com.bq.lib.rabbitmq.config.AmqpConfigurer Maven / Gradle / Ivy
package com.bq.lib.rabbitmq.config;
import java.util.Map;
import java.util.Optional;
import java.util.concurrent.Executor;
import java.util.concurrent.Executors;
import java.util.function.Function;
import java.util.function.UnaryOperator;
import org.springframework.amqp.core.Binding.DestinationType;
import org.springframework.amqp.core.Exchange;
import org.springframework.amqp.core.FanoutExchange;
import org.springframework.amqp.core.Queue;
import org.springframework.amqp.core.TopicExchange;
import org.springframework.amqp.rabbit.config.RetryInterceptorBuilder;
import org.springframework.amqp.rabbit.config.RetryInterceptorBuilder.StatelessRetryInterceptorBuilder;
import org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer;
import org.springframework.amqp.rabbit.retry.RejectAndDontRequeueRecoverer;
import org.springframework.retry.interceptor.RetryOperationsInterceptor;
import org.springframework.util.ErrorHandler;
public interface AmqpConfigurer {
TopicExchange topicExchange(String name, UnaryOperator modifier);
default TopicExchange topicExchange(String name) {
return topicExchange(name, null);
}
FanoutExchange fanoutExchange(String name, UnaryOperator modifier);
default FanoutExchange fanoutExchange(String name) {
return fanoutExchange(name, null);
}
UnaryOperator alternateExchange(final String name);
default UnaryOperator alternateExchange(final Exchange alterExchange) {
return alternateExchange(alterExchange.getName());
}
Queue queue(String name, Function modifier);
default Queue queue(String name) {
return queue(name, null);
}
void bind(final String exchangeName, final String destination, final DestinationType destinationType,
Optional routingKey, Optional © 2015 - 2025 Weber Informatics LLC | Privacy Policy