All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.github.pleuvoir.rabbit.autoconfigure.EnableRabbitPluginRegistrar Maven / Gradle / Ivy

There is a newer version: 1.0.6
Show newest version
package io.github.pleuvoir.rabbit.autoconfigure;

import java.lang.annotation.Annotation;

import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
import org.springframework.core.annotation.AnnotationAttributes;

import io.github.pleuvoir.base.autoconfigure.AbstractPluginRegistrar;
import io.github.pleuvoir.rabbit.RabbitPluginConfiguration;
import io.github.pleuvoir.rabbit.reliable.template.PublishTemplateConfig;

public class EnableRabbitPluginRegistrar extends AbstractPluginRegistrar {

	@Override
	protected Class getEnableAnnotationClass() {
		return EnableRabbitPlugin.class;
	}

	@Override
	protected Class defaultConfigurationClass() {
		return RabbitPluginConfiguration.class;
	}

	@Override
	protected void customize(BeanDefinitionRegistry registry, AnnotationAttributes attributes,
			BeanDefinitionBuilder definition, BeanFactory beanFactory) {

		definition.addPropertyValue("publishTemplateConfigBuilder",
				PublishTemplateConfig.builder().
				maxRetry(attributes.getNumber("maxRetry").intValue()));
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy