diff --git a/src/main/java/com/dailyon/productservice/product/sqs/ProductRestockHandler.java b/src/main/java/com/dailyon/productservice/product/sqs/ProductRestockHandler.java index 35c9b7d7..addbd05a 100644 --- a/src/main/java/com/dailyon/productservice/product/sqs/ProductRestockHandler.java +++ b/src/main/java/com/dailyon/productservice/product/sqs/ProductRestockHandler.java @@ -4,6 +4,7 @@ import com.dailyon.productservice.product.sqs.dto.SQSNotificationDto; import com.dailyon.productservice.product.sqs.dto.enums.NotificationType; import com.dailyon.productservice.productstock.entity.ProductStock; +import com.fasterxml.jackson.databind.ObjectMapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.cloud.aws.messaging.core.QueueMessagingTemplate; @@ -18,15 +19,18 @@ @RequiredArgsConstructor public class ProductRestockHandler { private final QueueMessagingTemplate sqsTemplate; + private final ObjectMapper objectMapper; private final String notificationQueue = "product-restock-notification-queue"; public void produce(List productStocksToNotify) { for(ProductStock productStock: productStocksToNotify) { try { - Message message = MessageBuilder.withPayload(SQSNotificationDto.create( - RawNotificationData.create(productStock, NotificationType.PRODUCT_RESTOCK) - ).toString()).build(); - + String jsonMessage = objectMapper.writeValueAsString( + SQSNotificationDto.create( + RawNotificationData.create(productStock, NotificationType.PRODUCT_RESTOCK) + ) + ); + Message message = MessageBuilder.withPayload(jsonMessage).build(); sqsTemplate.send(notificationQueue, message); } catch (Exception e) { log.error(e.getMessage());