Implement SAGA Pattern commit and rollback.
This commit is contained in:
@@ -4,25 +4,28 @@ package com.food.order.system.restaurant.messaging.listener.kafka;
|
||||
import com.food.order.system.kafka.consumer.KafkaConsumer;
|
||||
import com.food.order.system.kafka.order.avro.model.RestaurantApprovalRequestAvroModel;
|
||||
import com.food.order.system.restaurant.messaging.mapper.RestaurantMessagingDataMapper;
|
||||
import com.food.ordery.system.restaurant.domain.service.ports.input.message.listener.RestaurantApprovalRequestMessageListener;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import com.food.order.system.restaurant.domain.service.ports.input.message.listener.RestaurantApprovalRequestMessageListener;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.kafka.annotation.KafkaListener;
|
||||
import org.springframework.kafka.support.KafkaHeaders;
|
||||
import org.springframework.messaging.handler.annotation.Header;
|
||||
import org.springframework.messaging.handler.annotation.Payload;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Slf4j
|
||||
@Component
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class RestaurantApprovalRequestKafkaListener implements KafkaConsumer<RestaurantApprovalRequestAvroModel> {
|
||||
|
||||
private final RestaurantApprovalRequestMessageListener restaurantApprovalRequestMessageListener;
|
||||
private final RestaurantMessagingDataMapper restaurantMessagingDataMapper;
|
||||
|
||||
public RestaurantApprovalRequestKafkaListener(RestaurantApprovalRequestMessageListener restaurantApprovalRequestMessageListener,
|
||||
RestaurantMessagingDataMapper restaurantMessagingDataMapper) {
|
||||
this.restaurantApprovalRequestMessageListener = restaurantApprovalRequestMessageListener;
|
||||
this.restaurantMessagingDataMapper = restaurantMessagingDataMapper;
|
||||
}
|
||||
|
||||
@Override
|
||||
@KafkaListener(id = "${kafka-consumer-config.restaurant-approval-consumer-group-id}",
|
||||
|
||||
@@ -9,7 +9,7 @@ import com.food.order.system.restaurant.domain.core.event.OrderApprovedEvent;
|
||||
import com.food.order.system.restaurant.domain.core.event.OrderRejectedEvent;
|
||||
import com.food.order.sysyem.valueobject.ProductId;
|
||||
import com.food.order.sysyem.valueobject.RestaurantOrderStatus;
|
||||
import com.food.ordery.system.restaurant.domain.service.dto.RestaurantApprovalRequest;
|
||||
import com.food.order.system.restaurant.domain.service.dto.RestaurantApprovalRequest;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
@@ -6,8 +6,8 @@ import com.food.order.system.kafka.producer.KafkaMessageHelper;
|
||||
import com.food.order.system.kafka.producer.service.KafkaProducer;
|
||||
import com.food.order.system.restaurant.domain.core.event.OrderApprovedEvent;
|
||||
import com.food.order.system.restaurant.messaging.mapper.RestaurantMessagingDataMapper;
|
||||
import com.food.ordery.system.restaurant.domain.service.config.RestaurantServiceConfig;
|
||||
import com.food.ordery.system.restaurant.domain.service.ports.output.message.publisher.OrderApprovedMessagePublisher;
|
||||
import com.food.order.system.restaurant.domain.service.config.RestaurantServiceConfigData;
|
||||
import com.food.order.system.restaurant.domain.service.ports.output.message.publisher.OrderApprovedMessagePublisher;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -19,7 +19,7 @@ public class OrderApprovedKafkaMessagePublisher implements OrderApprovedMessageP
|
||||
|
||||
private final RestaurantMessagingDataMapper restaurantMessagingDataMapper;
|
||||
private final KafkaProducer<String, RestaurantApprovalResponseAvroModel> kafkaProducer;
|
||||
private final RestaurantServiceConfig restaurantServiceConfigData;
|
||||
private final RestaurantServiceConfigData restaurantServiceConfigData;
|
||||
private final KafkaMessageHelper kafkaMessageHelper;
|
||||
|
||||
|
||||
|
||||
@@ -6,8 +6,8 @@ import com.food.order.system.kafka.producer.KafkaMessageHelper;
|
||||
import com.food.order.system.kafka.producer.service.KafkaProducer;
|
||||
import com.food.order.system.restaurant.domain.core.event.OrderRejectedEvent;
|
||||
import com.food.order.system.restaurant.messaging.mapper.RestaurantMessagingDataMapper;
|
||||
import com.food.ordery.system.restaurant.domain.service.config.RestaurantServiceConfig;
|
||||
import com.food.ordery.system.restaurant.domain.service.ports.output.message.publisher.OrderRejectedMessagePublisher;
|
||||
import com.food.order.system.restaurant.domain.service.config.RestaurantServiceConfigData;
|
||||
import com.food.order.system.restaurant.domain.service.ports.output.message.publisher.OrderRejectedMessagePublisher;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -19,7 +19,7 @@ public class OrderRejectedKafkaMessagePublisher implements OrderRejectedMessageP
|
||||
|
||||
private final RestaurantMessagingDataMapper restaurantMessagingDataMapper;
|
||||
private final KafkaProducer<String, RestaurantApprovalResponseAvroModel> kafkaProducer;
|
||||
private final RestaurantServiceConfig restaurantServiceConfigData;
|
||||
private final RestaurantServiceConfigData restaurantServiceConfigData;
|
||||
private final KafkaMessageHelper kafkaMessageHelper;
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user