diff --git a/sauron-service/docker/config/sauron-service.yml b/sauron-service/docker/config/sauron-service.yml index 4908c779..d1582128 100644 --- a/sauron-service/docker/config/sauron-service.yml +++ b/sauron-service/docker/config/sauron-service.yml @@ -36,27 +36,12 @@ management: # Spring configuration ################################################################# spring: - ################################################################# - # SpringConfigBus configuration - # Rabbitmq used to enable hot reloading of your configuration[1] - # Comment the block below and uncomment rabbitmq configuration - # to enable SpringConfigBus - # - # [1] https://www.baeldung.com/spring-cloud-bus - ################################################################# - autoconfigure: - exclude: org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration - cloud: - stream: - default: - consumer: - autoStartup: false -# rabbitmq: -# requested-heartbeat: 5 -# host: configbus.hostname -# port: 5672 -# username: sauron-service -# password: iamasecret + rabbitmq: + enabled: true + host: eventsbus.hostname + port: 5672 + username: sauron-service + password: iamasecret ################################################################# # Sauron Rabbitmq Request Handler @@ -68,20 +53,6 @@ spring: # [1] src/main/java/com/freenow/sauron/handler/impl/RabbitmqRequestHandler.java ################################################################# # enabled: true - ################################################################# - # When using Sauron Request Handler another Rabbitmq host can be used, - # different from the SpringConfigBus. In order to allow that, Sauron - # make usage of freenowtech/spring-multirabbit [1] - # - # [1] https://github.com/freenowtech/spring-multirabbit - ################################################################# -# multirabbitmq: -# connections: -# eventBus: -# host: eventsbus.hostname -# port: 5672 -# username: sauron-service -# password: iamasecret ################################################################# # Sauron configuration diff --git a/sauron-service/pom.xml b/sauron-service/pom.xml index 48663e03..c3a2c863 100644 --- a/sauron-service/pom.xml +++ b/sauron-service/pom.xml @@ -103,27 +103,27 @@ org.springframework.boot - spring-boot-starter-test - test + spring-boot-starter-amqp - - org.springframework.cloud - spring-cloud-starter-config + org.springframework.boot + spring-boot-starter-validation - org.springframework.cloud - spring-cloud-starter-bus-amqp + org.springframework.boot + spring-boot-starter-test + test + - com.free-now.multirabbit - spring-multirabbit - ${multirabbit.version} + org.springframework.cloud + spring-cloud-starter-config + com.free-now.sauron diff --git a/sauron-service/src/main/java/com/freenow/sauron/config/RabbitmqConfig.java b/sauron-service/src/main/java/com/freenow/sauron/config/RabbitmqConfig.java index 36757f18..3ac7a2c7 100644 --- a/sauron-service/src/main/java/com/freenow/sauron/config/RabbitmqConfig.java +++ b/sauron-service/src/main/java/com/freenow/sauron/config/RabbitmqConfig.java @@ -5,7 +5,7 @@ import org.springframework.amqp.rabbit.connection.ConnectionFactory; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter; -import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.boot.CommandLineRunner; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -24,22 +24,24 @@ public Queue sauronQueue() @Bean - public SimpleRabbitListenerContainerFactory eventBusPrefetchCount( - @Qualifier("eventBus") SimpleRabbitListenerContainerFactory eventBus, + public SimpleRabbitListenerContainerFactory rabbitListenerContainerFactory( + final ConnectionFactory connectionFactory, final Jackson2JsonMessageConverter converter) { - eventBus.setPrefetchCount(1); - eventBus.setMessageConverter(converter); - return eventBus; + final var factory = new SimpleRabbitListenerContainerFactory(); + factory.setConnectionFactory(connectionFactory); + factory.setPrefetchCount(1); + factory.setMessageConverter(converter); + return factory; } @Bean public RabbitTemplate rabbitTemplate( - final ConnectionFactory multiRabbitConnectionFactory, + final ConnectionFactory connectionFactory, final Jackson2JsonMessageConverter converter) { - final var rabbitTemplate = new RabbitTemplate(multiRabbitConnectionFactory); + final var rabbitTemplate = new RabbitTemplate(connectionFactory); rabbitTemplate.setMessageConverter(converter); return rabbitTemplate; } diff --git a/sauron-service/src/main/java/com/freenow/sauron/handler/impl/RabbitmqRequestHandler.java b/sauron-service/src/main/java/com/freenow/sauron/handler/impl/RabbitmqRequestHandler.java index 29dbc052..145991ec 100644 --- a/sauron-service/src/main/java/com/freenow/sauron/handler/impl/RabbitmqRequestHandler.java +++ b/sauron-service/src/main/java/com/freenow/sauron/handler/impl/RabbitmqRequestHandler.java @@ -18,7 +18,7 @@ @Setter public class RabbitmqRequestHandler implements RequestHandler { - private static final String ASYNC_CONTAINER_FACTORY = "eventBus"; + private static final String ASYNC_CONTAINER_FACTORY = "rabbitListenerContainerFactory"; private static final String LISTENER_ID = "sauron-consumer";