Advertisement
Guest User

Untitled

a guest
Jun 27th, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.04 KB | None | 0 0
  1. package domain;
  2.  
  3. interface Data {
  4. public String getData();
  5. public void setData(String data);
  6. }
  7.  
  8. package persistence;
  9.  
  10. @Data
  11. class DataEntity implements Data {
  12. private String data; // lombok generates getter/setters
  13. }
  14.  
  15. @Component
  16. class DataPublisher implements ApplicationListener<DataEvent> {
  17. @Autowired private KafkaTemplate<String,Data> template;
  18.  
  19. // I left out DataEvent which is a straightforward ApplicationEvent override
  20. @EventListener(classes = DataEvent.class)
  21. public void onApplicationEvent(DataEvent event) {
  22. template.send("data", (Data) event.getSource());
  23. }
  24. }
  25. // triggered by this call in a service
  26. eventPublisher.publishEvent(new DataEvent(updatedData));
  27.  
  28. spring:
  29. kafka:
  30. consumer:
  31. value-deserializer: org.springframework.kafka.support.serializer.JsonDeserializer
  32. properties.spring.json.value.default.type: domain.Data
  33.  
  34. @KafkaListener(topics = "data")
  35. public void dataUpdated(@Payload Data data) {
  36. dataService.updateData(data);
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement