Skip to content
This repository was archived by the owner on Jun 5, 2025. It is now read-only.

Commit 7e61087

Browse files
authored
Minor refactoring and adding Mongo interceptor for logging (#10)
* using record instead of class using records instead of class, so we can avoid constructors, getter, setter, toString and hashMap * MongoDB interceptor for create flow * instead of adding multiple events, making it to afterSave
1 parent 6afb96a commit 7e61087

File tree

2 files changed

+25
-13
lines changed

2 files changed

+25
-13
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package com.kafka.learn.kafkastudy.interceptor;
2+
3+
import org.slf4j.Logger;
4+
import org.slf4j.LoggerFactory;
5+
import org.springframework.context.annotation.Configuration;
6+
import org.springframework.data.mongodb.core.mapping.event.AbstractMongoEventListener;
7+
import org.springframework.data.mongodb.core.mapping.event.AfterSaveEvent;
8+
9+
@Configuration
10+
public class MongoLogInterceptor extends AbstractMongoEventListener<Object> {
11+
private static final Logger logger = LoggerFactory.getLogger(MongoLogInterceptor.class);
12+
13+
@Override
14+
public void onAfterSave(AfterSaveEvent<Object> event) {
15+
logger.info("Mongo Save Event {}, {}", event.getSource(), event);
16+
// Events captured for this - [BeforeConvertEvent, BeforeSaveEvent, AfterSaveEvent]
17+
}
18+
}
Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,14 @@
11
package com.kafka.learn.kafkastudy.repository.dto;
22

3-
import lombok.AllArgsConstructor;
4-
import lombok.Getter;
5-
import lombok.Setter;
63
import org.springframework.data.annotation.Id;
74
import org.springframework.data.mongodb.core.mapping.Document;
85

96
@Document(collection = "successMessage")
10-
@Getter
11-
@Setter
12-
@AllArgsConstructor
13-
public class SuccessMessage {
14-
@Id
15-
private String id;
16-
private String headers;
17-
private String body;
18-
private Long offset;
19-
private String time;
7+
public record SuccessMessage(
8+
@Id String id,
9+
String headers,
10+
String body,
11+
Long offset,
12+
String time
13+
) {
2014
}

0 commit comments

Comments
 (0)