order created ext services

master
tszyszkowski 2022-10-13 11:28:50 +02:00
parent 52ca2b6010
commit 38526ed303
2 changed files with 57 additions and 0 deletions

View File

@ -0,0 +1,26 @@
package pl.adaptiveapps.serviceexternalserver.controller;
import com.google.gson.Gson;
import lombok.RequiredArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import pl.adaptiveapps.service.kafkamodel.msg.external.ordercreated.OrderCreatedMsg;
import pl.adaptiveapps.serviceexternalserver.kafka.NotesProducer;
import pl.adaptiveapps.serviceexternalserver.kafka.OrderCreatedProducer;
@RequiredArgsConstructor
@RestController
public class OrderCreatedController {
private final OrderCreatedProducer orderCreatedProducer;
private static final Logger logger = LoggerFactory.getLogger(OrderCreatedController.class);
@PostMapping("/order-created")
public void postNote(@RequestBody OrderCreatedMsg orderCreatedMsg){
logger.info("Receive order: {}", new Gson().toJson(orderCreatedMsg));
orderCreatedProducer.sendMessage(orderCreatedMsg);
}
}

View File

@ -0,0 +1,31 @@
package pl.adaptiveapps.serviceexternalserver.kafka;
import com.google.gson.Gson;
import lombok.RequiredArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.stereotype.Service;
import pl.adaptiveapps.service.kafkamodel.common.KafkaTopic;
import pl.adaptiveapps.service.kafkamodel.msg.external.NoteSavedMsg;
import pl.adaptiveapps.service.kafkamodel.msg.external.ordercreated.OrderCreatedMsg;
import java.util.concurrent.ExecutionException;
@Service
@RequiredArgsConstructor
public class OrderCreatedProducer {
private static final Logger logger = LoggerFactory.getLogger(OrderCreatedProducer.class);
private final KafkaTemplate<String, String> kafkaTemplate;
public void sendMessage(OrderCreatedMsg orderCreatedMsg) {
try {
String message = new Gson().toJson(orderCreatedMsg);
var res = this.kafkaTemplate.send(KafkaTopic.ORDER_CREATED, message).get();
logger.info(String.format("#### -> orderCreatedMsg message sent -> %s", res.getRecordMetadata().topic()));
} catch (InterruptedException | ExecutionException e) {
logger.error(e.getMessage(), e);
}
}
}