intergration alpha

master
tszyszkowski 2022-03-30 15:22:31 +02:00
parent 542dd89422
commit b019a1b257
12 changed files with 66 additions and 6 deletions

View File

@ -39,6 +39,12 @@
<artifactId>service-kafka-model</artifactId> <artifactId>service-kafka-model</artifactId>
<version>0.0.1-SNAPSHOT</version> <version>0.0.1-SNAPSHOT</version>
</dependency> </dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.9.0</version>
</dependency>
<dependency> <dependency>
<groupId>org.projectlombok</groupId> <groupId>org.projectlombok</groupId>

View File

@ -0,0 +1,8 @@
package pl.adaptiveapps.serviceexternalserver.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
@Configuration
public class KeyDeserializerConfig {
}

View File

@ -1,21 +1,30 @@
package pl.adaptiveapps.serviceexternalserver.controller; package pl.adaptiveapps.serviceexternalserver.controller;
import com.google.gson.Gson;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.PostMapping; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import pl.adaptiveapps.service.kafkamodel.msg.external.FormSavedMsg; import pl.adaptiveapps.service.kafkamodel.msg.external.FormSavedMsg;
import pl.adaptiveapps.service.kafkamodel.msg.external.WorktimeSavedMsg;
import pl.adaptiveapps.serviceexternalserver.kafka.FormSavedProducer; import pl.adaptiveapps.serviceexternalserver.kafka.FormSavedProducer;
import static org.springframework.web.bind.annotation.RequestMethod.POST;
@RequiredArgsConstructor @RequiredArgsConstructor
@RestController @RestController
public class FormSavedController { public class FormSavedController {
private static final Logger logger = LoggerFactory.getLogger(FormSavedController.class);
private final FormSavedProducer formSavedProducer; private final FormSavedProducer formSavedProducer;
@PostMapping("/form") @RequestMapping(value = "/form", method = POST, consumes = MediaType.ALL_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
public void postForm(@RequestBody FormSavedMsg formSavedMsg){ public void postForm(@RequestBody String raw){
logger.info("Receive form: {}", raw);
FormSavedMsg formSavedMsg = new Gson().fromJson(raw, FormSavedMsg.class);
formSavedProducer.sendMessage(formSavedMsg); formSavedProducer.sendMessage(formSavedMsg);
} }
} }

View File

@ -1,6 +1,9 @@
package pl.adaptiveapps.serviceexternalserver.controller; package pl.adaptiveapps.serviceexternalserver.controller;
import com.google.gson.Gson;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
@ -13,9 +16,11 @@ import pl.adaptiveapps.serviceexternalserver.kafka.NotesProducer;
public class NotesController { public class NotesController {
private final NotesProducer notesProducer; private final NotesProducer notesProducer;
private static final Logger logger = LoggerFactory.getLogger(NotesController.class);
@PostMapping("/note") @PostMapping("/note")
public void postNote(@RequestBody NoteSavedMsg noteSavedMsg){ public void postNote(@RequestBody NoteSavedMsg noteSavedMsg){
logger.info("Receive note: {}", new Gson().toJson(noteSavedMsg));
notesProducer.sendMessage(noteSavedMsg); notesProducer.sendMessage(noteSavedMsg);
} }
} }

View File

@ -1,6 +1,9 @@
package pl.adaptiveapps.serviceexternalserver.controller; package pl.adaptiveapps.serviceexternalserver.controller;
import com.google.gson.Gson;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
@ -13,9 +16,11 @@ import pl.adaptiveapps.serviceexternalserver.kafka.PhotosProducer;
public class PhotosController { public class PhotosController {
private final PhotosProducer photosProducer; private final PhotosProducer photosProducer;
private static final Logger logger = LoggerFactory.getLogger(PhotosController.class);
@PostMapping("/photo") @PostMapping("/photo")
public void postPhoto(@RequestBody PhotoSavedMsg photoSavedMsg){ public void postPhoto(@RequestBody PhotoSavedMsg photoSavedMsg){
logger.info("Receive photo: {}", new Gson().toJson(photoSavedMsg));
photosProducer.sendMessage(photoSavedMsg); photosProducer.sendMessage(photoSavedMsg);
} }
} }

View File

@ -1,6 +1,9 @@
package pl.adaptiveapps.serviceexternalserver.controller; package pl.adaptiveapps.serviceexternalserver.controller;
import com.google.gson.Gson;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
@ -13,9 +16,11 @@ import pl.adaptiveapps.serviceexternalserver.kafka.RecipienceProducer;
public class RecipienceController { public class RecipienceController {
private final RecipienceProducer recipienceProducer; private final RecipienceProducer recipienceProducer;
private static final Logger logger = LoggerFactory.getLogger(RecipienceController.class);
@PostMapping("/recipience") @PostMapping("/recipience")
public void postRecipience(@RequestBody RecipienceLogSavedMsg recipienceLogSavedMsg){ public void postRecipience(@RequestBody RecipienceLogSavedMsg recipienceLogSavedMsg){
logger.info("Receive recipience: {}", new Gson().toJson(recipienceLogSavedMsg));
recipienceProducer.sendMessage(recipienceLogSavedMsg); recipienceProducer.sendMessage(recipienceLogSavedMsg);
} }
} }

View File

@ -1,6 +1,9 @@
package pl.adaptiveapps.serviceexternalserver.controller; package pl.adaptiveapps.serviceexternalserver.controller;
import com.google.gson.Gson;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
@ -13,9 +16,11 @@ import pl.adaptiveapps.serviceexternalserver.kafka.ServicemanProducer;
public class ServicemanController { public class ServicemanController {
private final ServicemanProducer servicemanProducer; private final ServicemanProducer servicemanProducer;
private static final Logger logger = LoggerFactory.getLogger(ServicemanController.class);
@PostMapping("/serviceman") @PostMapping("/serviceman")
public void postServiceman(@RequestBody ServicemanChangedMsg servicemanChangedMsg){ public void postServiceman(@RequestBody ServicemanChangedMsg servicemanChangedMsg){
logger.info("Receive serviceman: {}", new Gson().toJson(servicemanChangedMsg));
servicemanProducer.sendMessage(servicemanChangedMsg); servicemanProducer.sendMessage(servicemanChangedMsg);
} }
} }

View File

@ -1,6 +1,9 @@
package pl.adaptiveapps.serviceexternalserver.controller; package pl.adaptiveapps.serviceexternalserver.controller;
import com.google.gson.Gson;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
@ -12,9 +15,11 @@ import pl.adaptiveapps.serviceexternalserver.kafka.StatusProducer;
public class StatusController { public class StatusController {
private final StatusProducer statusProducer; private final StatusProducer statusProducer;
private static final Logger logger = LoggerFactory.getLogger(StatusController.class);
@PostMapping("/status") @PostMapping("/status")
public void postStatus(@RequestBody OrderStatusChangedMsg statusChangedMsg){ public void postStatus(@RequestBody OrderStatusChangedMsg statusChangedMsg){
logger.info("Receive status: {}", new Gson().toJson(statusChangedMsg));
statusProducer.sendMessage(statusChangedMsg); statusProducer.sendMessage(statusChangedMsg);
} }
} }

View File

@ -1,6 +1,9 @@
package pl.adaptiveapps.serviceexternalserver.controller; package pl.adaptiveapps.serviceexternalserver.controller;
import com.google.gson.Gson;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
@ -13,9 +16,11 @@ import pl.adaptiveapps.serviceexternalserver.kafka.WarehouseProducer;
public class WarehouseController { public class WarehouseController {
private final WarehouseProducer warehouseProducer; private final WarehouseProducer warehouseProducer;
private static final Logger logger = LoggerFactory.getLogger(WarehouseController.class);
@PostMapping("/warehouse") @PostMapping("/warehouse")
public void postWarehouse(@RequestBody WarehouseItemReleaseMsg warehouseItemReleaseMsg){ public void postWarehouse(@RequestBody WarehouseItemReleaseMsg warehouseItemReleaseMsg){
logger.info("Receive warehouse: {}", new Gson().toJson(warehouseItemReleaseMsg));
warehouseProducer.sendMessage(warehouseItemReleaseMsg); warehouseProducer.sendMessage(warehouseItemReleaseMsg);
} }
} }

View File

@ -1,6 +1,9 @@
package pl.adaptiveapps.serviceexternalserver.controller; package pl.adaptiveapps.serviceexternalserver.controller;
import com.google.gson.Gson;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
@ -12,9 +15,11 @@ import pl.adaptiveapps.serviceexternalserver.kafka.WorktimeProducer;
public class WorktimeController { public class WorktimeController {
private final WorktimeProducer worktimeProducer; private final WorktimeProducer worktimeProducer;
private static final Logger logger = LoggerFactory.getLogger(WorktimeController.class);
@PostMapping("/worktime") @PostMapping("/worktime")
public void postWorktime(@RequestBody WorktimeSavedMsg worktimeSavedMsg){ public void postWorktime(@RequestBody WorktimeSavedMsg worktimeSavedMsg){
logger.info("Receive worktime: {}", new Gson().toJson(worktimeSavedMsg));
worktimeProducer.sendMessage(worktimeSavedMsg); worktimeProducer.sendMessage(worktimeSavedMsg);
} }
} }

View File

@ -21,7 +21,7 @@ public class FormSavedProducer {
public void sendMessage(FormSavedMsg formSavedMsg) { public void sendMessage(FormSavedMsg formSavedMsg) {
try { try {
String message = new Gson().toJson(formSavedMsg); String message = new Gson().toJson(formSavedMsg);
var res = this.kafkaTemplate.send(KafkaTopic.FORM_SAVED, message).get(); var res = this.kafkaTemplate.send(KafkaTopic.GENERATED_FORM_SAVED, message).get();
logger.info(String.format("#### -> formSavedMsg message sent -> %s", res.getRecordMetadata().topic())); logger.info(String.format("#### -> formSavedMsg message sent -> %s", res.getRecordMetadata().topic()));
} catch (InterruptedException | ExecutionException e) { } catch (InterruptedException | ExecutionException e) {
logger.error(e.getMessage(), e); logger.error(e.getMessage(), e);

View File

@ -6,4 +6,6 @@ spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.Strin
spring.kafka.producer.value-serializer=org.apache.kafka.common.serialization.StringSerializer spring.kafka.producer.value-serializer=org.apache.kafka.common.serialization.StringSerializer
spring.kafka.producer.properties.max.request.size=20242880 spring.kafka.producer.properties.max.request.size=20242880
logging.level.org.springframework.web=INFO logging.level.org.springframework.web=DEBUG
server.tomcat.max-http-post-size=10MB