order created ext services
parent
52ca2b6010
commit
38526ed303
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue