diff --git a/pom.xml b/pom.xml
index c69a533..1e35edc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -43,6 +43,17 @@
1.0.0
+
+ org.springframework.boot
+ spring-boot-starter-amqp
+
+
+
+ org.springframework.boot
+ spring-boot-starter-amqp-test
+ test
+
+
org.springframework.boot
spring-boot-starter-data-jpa
diff --git a/src/main/java/br/com/stackpanel/duck_api/config/RabbitConfig.java b/src/main/java/br/com/stackpanel/duck_api/config/RabbitConfig.java
new file mode 100644
index 0000000..5b6e7f9
--- /dev/null
+++ b/src/main/java/br/com/stackpanel/duck_api/config/RabbitConfig.java
@@ -0,0 +1,23 @@
+package br.com.stackpanel.duck_api.config;
+
+import org.springframework.amqp.core.Queue;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import static br.com.stackpanel.duck_api.entity.enums.QueueNames.QUEUE_NOTIFICATION_CAD;
+import static br.com.stackpanel.duck_api.entity.enums.QueueNames.QUEUE_NOTIFICATION_ERROR;
+
+@Configuration
+public class RabbitConfig {
+
+ @Bean
+ public Queue queueNotificationError() {
+ return new Queue(QUEUE_NOTIFICATION_ERROR.label, true);
+ }
+
+ @Bean
+ public Queue queueNotificationCad() {
+ return new Queue(QUEUE_NOTIFICATION_CAD.label, true);
+ }
+
+}
diff --git a/src/main/java/br/com/stackpanel/duck_api/entity/enums/QueueNames.java b/src/main/java/br/com/stackpanel/duck_api/entity/enums/QueueNames.java
new file mode 100644
index 0000000..9571dae
--- /dev/null
+++ b/src/main/java/br/com/stackpanel/duck_api/entity/enums/QueueNames.java
@@ -0,0 +1,15 @@
+package br.com.stackpanel.duck_api.entity.enums;
+
+public enum QueueNames {
+
+ QUEUE_NOTIFICATION_ERROR("QUEUE_NOTIFICATION_ERROR"),
+ QUEUE_NOTIFICATION_CAD("QUEUE_NOTIFICATION_CAD");
+
+
+ public final String label;
+
+ private QueueNames(String label) {
+ this.label = label;
+ }
+
+}
diff --git a/src/main/java/br/com/stackpanel/duck_api/service/RabbitPublisherService.java b/src/main/java/br/com/stackpanel/duck_api/service/RabbitPublisherService.java
new file mode 100644
index 0000000..5c231b6
--- /dev/null
+++ b/src/main/java/br/com/stackpanel/duck_api/service/RabbitPublisherService.java
@@ -0,0 +1,7 @@
+package br.com.stackpanel.duck_api.service;
+
+public interface RabbitPublisherService {
+
+ void sendNotificationCad(String notificationCad);
+
+}
diff --git a/src/main/java/br/com/stackpanel/duck_api/service/impl/RabbitPublisherServiceImpl.java b/src/main/java/br/com/stackpanel/duck_api/service/impl/RabbitPublisherServiceImpl.java
new file mode 100644
index 0000000..2304fe2
--- /dev/null
+++ b/src/main/java/br/com/stackpanel/duck_api/service/impl/RabbitPublisherServiceImpl.java
@@ -0,0 +1,24 @@
+package br.com.stackpanel.duck_api.service.impl;
+
+import br.com.stackpanel.duck_api.service.RabbitPublisherService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
+
+import static br.com.stackpanel.duck_api.entity.enums.QueueNames.QUEUE_NOTIFICATION_ERROR;
+
+public class RabbitPublisherServiceImpl implements RabbitPublisherService {
+
+ private static final Logger log = LoggerFactory.getLogger(RabbitPublisherServiceImpl.class);
+ private final RabbitTemplate rabbitTemplate;
+
+ public RabbitPublisherServiceImpl(RabbitTemplate rabbitTemplate) {
+ this.rabbitTemplate = rabbitTemplate;
+ }
+
+ @Override
+ public void sendNotificationCad(String notificationCad) {
+ log.info("Sending notification Cad: {}", notificationCad);
+ rabbitTemplate.convertAndSend(QUEUE_NOTIFICATION_ERROR.label, notificationCad);
+ }
+}
diff --git a/src/main/resources/application-dbg.properties b/src/main/resources/application-dbg.properties
index 0e3e8a1..dfd8d98 100644
--- a/src/main/resources/application-dbg.properties
+++ b/src/main/resources/application-dbg.properties
@@ -5,4 +5,10 @@ spring.datasource.password=${db_pass}
spring.datasource.username=${db_user}
spring.datasource.driver-class-name=org.postgresql.Driver
spring.jpa.hibernate.ddl-auto=update
-spring.jpa.show-sql=true
\ No newline at end of file
+spring.jpa.show-sql=true
+
+
+spring.rabbitmq.host=rabbit.stackpanel.com.br
+spring.rabbitmq.port=5672
+spring.rabbitmq.username=${rabbit_username}
+spring.rabbitmq.password=${rabbit_password}
\ No newline at end of file
diff --git a/src/main/resources/application-prod.properties b/src/main/resources/application-prod.properties
index a70abd7..4aa6d93 100644
--- a/src/main/resources/application-prod.properties
+++ b/src/main/resources/application-prod.properties
@@ -4,3 +4,9 @@ spring.datasource.url=${db_host:jdbc:postgresql://db.stackpanel.com.br:5432/nexu
spring.datasource.password=${db_pass}
spring.datasource.username=${db_user}
spring.datasource.driver-class-name=org.postgresql.Driver
+
+
+spring.rabbitmq.host=rabbit.stackpanel.com.br
+spring.rabbitmq.port=5672
+spring.rabbitmq.username=${rabbit_username}
+spring.rabbitmq.password=${rabbit_password}
\ No newline at end of file