diff --git a/order-service/src/main/java/net/adiletkdev/orderservice/config/RabbitMQConfig.java b/order-service/src/main/java/net/adiletkdev/orderservice/config/RabbitMQConfig.java
index 1d18e77..d348dde 100644
--- a/order-service/src/main/java/net/adiletkdev/orderservice/config/RabbitMQConfig.java
+++ b/order-service/src/main/java/net/adiletkdev/orderservice/config/RabbitMQConfig.java
@@ -49,6 +49,7 @@ public MessageConverter converter() {
}
// configure RabbitTemplate
+ @Bean
public AmqpTemplate amqpTemplate(ConnectionFactory connectionFactory) {
RabbitTemplate rabbitTemplate = new RabbitTemplate(connectionFactory);
rabbitTemplate.setMessageConverter(converter());
diff --git a/stock-service/pom.xml b/stock-service/pom.xml
index de0f420..3ebc319 100644
--- a/stock-service/pom.xml
+++ b/stock-service/pom.xml
@@ -41,6 +41,12 @@
spring-rabbit-test
test
+
+
+ net.adiletkdev
+ order-service
+ 0.0.1-SNAPSHOT
+
diff --git a/stock-service/src/main/java/net/adiletkdev/stockservice/config/RabbitMQConfig.java b/stock-service/src/main/java/net/adiletkdev/stockservice/config/RabbitMQConfig.java
new file mode 100644
index 0000000..ec341a6
--- /dev/null
+++ b/stock-service/src/main/java/net/adiletkdev/stockservice/config/RabbitMQConfig.java
@@ -0,0 +1,27 @@
+package net.adiletkdev.stockservice.config;
+
+import org.springframework.amqp.core.*;
+import org.springframework.amqp.rabbit.connection.ConnectionFactory;
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
+import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter;
+import org.springframework.amqp.support.converter.MessageConverter;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class RabbitMQConfig {
+
+ // message converter
+ @Bean
+ public MessageConverter converter() {
+ return new Jackson2JsonMessageConverter();
+ }
+
+ // configure RabbitTemplate
+ public AmqpTemplate amqpTemplate(ConnectionFactory connectionFactory) {
+ RabbitTemplate rabbitTemplate = new RabbitTemplate(connectionFactory);
+ rabbitTemplate.setMessageConverter(converter());
+
+ return rabbitTemplate;
+ }
+}
diff --git a/stock-service/src/main/java/net/adiletkdev/stockservice/consumer/OrderConsumer.java b/stock-service/src/main/java/net/adiletkdev/stockservice/consumer/OrderConsumer.java
new file mode 100644
index 0000000..47a6219
--- /dev/null
+++ b/stock-service/src/main/java/net/adiletkdev/stockservice/consumer/OrderConsumer.java
@@ -0,0 +1,20 @@
+package net.adiletkdev.stockservice.consumer;
+
+import net.adiletkdev.orderservice.dto.OrderEvent;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.amqp.rabbit.annotation.RabbitListener;
+import org.springframework.stereotype.Service;
+
+@Service
+public class OrderConsumer {
+
+ private Logger LOGGER = LoggerFactory.getLogger(OrderConsumer.class);
+
+ @RabbitListener(queues = {"${rabbitmq.queue.order.name}"})
+ public void consume(OrderEvent event) {
+ LOGGER.info(String.format("Order event received -> %s", event.toString()));
+
+ // save order event data in database
+ }
+}
diff --git a/stock-service/src/main/resources/application.properties b/stock-service/src/main/resources/application.properties
index 4d360de..54f1080 100644
--- a/stock-service/src/main/resources/application.properties
+++ b/stock-service/src/main/resources/application.properties
@@ -1 +1,3 @@
server.port=8081
+
+rabbitmq.queue.order.name=order_queue
\ No newline at end of file