diff --git a/pom.xml b/pom.xml index 9afca2a..422434e 100644 --- a/pom.xml +++ b/pom.xml @@ -24,11 +24,14 @@ 1.0 7.3.2 0.8.8 + 3.1.2 8.45.1 + 4.9.3 + 2.1.0 2.0.2 - 0.115 + 0.124 1.6 false @@ -184,6 +187,11 @@ checkstyle ${checkstyle.version} + + org.antlr + antlr4-runtime + ${checkstyle-antlr.version} + checkstyle.xml diff --git a/src/main/java/ca/gc/aafc/agent/api/MainConfiguration.java b/src/main/java/ca/gc/aafc/agent/api/MainConfiguration.java index e9d4a84..89aff96 100644 --- a/src/main/java/ca/gc/aafc/agent/api/MainConfiguration.java +++ b/src/main/java/ca/gc/aafc/agent/api/MainConfiguration.java @@ -1,8 +1,8 @@ package ca.gc.aafc.agent.api; import ca.gc.aafc.dina.DinaBaseApiAutoConfiguration; -import ca.gc.aafc.dina.search.messaging.producer.LogBasedMessageProducer; -import ca.gc.aafc.dina.search.messaging.producer.MessageProducer; +import ca.gc.aafc.dina.messaging.producer.DocumentOperationNotificationMessageProducer; +import ca.gc.aafc.dina.messaging.producer.LogBasedMessageProducer; import ca.gc.aafc.dina.service.JaversDataService; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.autoconfigure.ImportAutoConfiguration; @@ -25,7 +25,7 @@ public static class FallbackMessageProducer { @Bean @ConditionalOnProperty(name = "dina.messaging.isProducer", havingValue = "false") - public MessageProducer init() { + public DocumentOperationNotificationMessageProducer init() { return new LogBasedMessageProducer(); } } diff --git a/src/main/java/ca/gc/aafc/agent/api/config/SearchQueueProperties.java b/src/main/java/ca/gc/aafc/agent/api/config/SearchQueueProperties.java new file mode 100644 index 0000000..a30f985 --- /dev/null +++ b/src/main/java/ca/gc/aafc/agent/api/config/SearchQueueProperties.java @@ -0,0 +1,14 @@ +package ca.gc.aafc.agent.api.config; + +import javax.inject.Named; + +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.stereotype.Component; + +import ca.gc.aafc.dina.messaging.config.RabbitMQQueueProperties; + +@ConfigurationProperties(prefix = "rabbitmq") +@Component +@Named("searchQueueProperties") +public class SearchQueueProperties extends RabbitMQQueueProperties { +} diff --git a/src/main/java/ca/gc/aafc/agent/api/messaging/SearchRabbitMQMessageProducer.java b/src/main/java/ca/gc/aafc/agent/api/messaging/SearchRabbitMQMessageProducer.java new file mode 100644 index 0000000..94c3888 --- /dev/null +++ b/src/main/java/ca/gc/aafc/agent/api/messaging/SearchRabbitMQMessageProducer.java @@ -0,0 +1,34 @@ +package ca.gc.aafc.agent.api.messaging; + +import javax.inject.Named; + +import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.stereotype.Service; + +import ca.gc.aafc.dina.messaging.config.RabbitMQQueueProperties; +import ca.gc.aafc.dina.messaging.message.DocumentOperationNotification; +import ca.gc.aafc.dina.messaging.producer.DocumentOperationNotificationMessageProducer; +import ca.gc.aafc.dina.messaging.producer.RabbitMQMessageProducer; + +/** + * RabbitMQ based message producer + */ +@Service +@ConditionalOnProperty(prefix = "dina.messaging", name = "isProducer", havingValue = "true") +public class SearchRabbitMQMessageProducer extends RabbitMQMessageProducer implements + DocumentOperationNotificationMessageProducer { + + @Autowired + public SearchRabbitMQMessageProducer(RabbitTemplate rabbitTemplate, + @Named("searchQueueProperties") + RabbitMQQueueProperties queueProperties) { + super(rabbitTemplate, queueProperties); + } + + @Override + public void send(DocumentOperationNotification message) { + super.send(message); + } +}