Connected to Event Collector
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
package dev.mednikov.social.users.messaging;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
final class AnalyticsEvent {
|
||||
|
||||
private String userId;
|
||||
private String eventType;
|
||||
private String timestamp;
|
||||
|
||||
AnalyticsEvent (){}
|
||||
|
||||
AnalyticsEvent(Long userId, String eventType){
|
||||
this.userId = userId.toString();
|
||||
this.eventType = eventType;
|
||||
this.timestamp = LocalDateTime.now().toString();
|
||||
}
|
||||
|
||||
String getUserId() {
|
||||
return userId;
|
||||
}
|
||||
|
||||
void setUserId(String userId) {
|
||||
this.userId = userId;
|
||||
}
|
||||
|
||||
String getEventType() {
|
||||
return eventType;
|
||||
}
|
||||
|
||||
void setEventType(String eventType) {
|
||||
this.eventType = eventType;
|
||||
}
|
||||
|
||||
String getTimestamp() {
|
||||
return timestamp;
|
||||
}
|
||||
|
||||
void setTimestamp(String timestamp) {
|
||||
this.timestamp = timestamp;
|
||||
}
|
||||
}
|
||||
@@ -3,6 +3,7 @@ package dev.mednikov.social.users.messaging;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import dev.mednikov.social.users.events.UserCreatedEvent;
|
||||
import dev.mednikov.social.users.events.UserUpdatedEvent;
|
||||
import dev.mednikov.social.users.models.User;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||
@@ -26,10 +27,16 @@ public class MessageService {
|
||||
@EventListener
|
||||
@Async
|
||||
public void onUserCreatedEventListener (UserCreatedEvent event) {
|
||||
UserPayload payload = new UserPayload(event.getUser());
|
||||
User user = event.getUser();
|
||||
Long userId = user.getId();
|
||||
UserPayload payload = new UserPayload(user);
|
||||
AnalyticsEvent analyticsEvent = new AnalyticsEvent(userId, "users_created");
|
||||
try {
|
||||
String userEncoded = this.objectMapper.writeValueAsString(payload);
|
||||
String eventEncoded = this.objectMapper.writeValueAsString(analyticsEvent);
|
||||
this.rabbitTemplate.convertAndSend("", "social_users_created", userEncoded);
|
||||
this.rabbitTemplate.convertAndSend("", "social_events", eventEncoded);
|
||||
logger.info("RabbitMQ: User created event sent");
|
||||
} catch (Exception ex){
|
||||
logger.error(ex.getMessage());
|
||||
}
|
||||
@@ -39,9 +46,14 @@ public class MessageService {
|
||||
@Async
|
||||
public void onUserUpdatedEventListener (UserUpdatedEvent event) {
|
||||
UserPayload payload = new UserPayload(event.getUser());
|
||||
Long userId = event.getUser().getId();
|
||||
AnalyticsEvent analyticsEvent = new AnalyticsEvent(userId, "users_updated");
|
||||
try {
|
||||
String userEncoded = this.objectMapper.writeValueAsString(payload);
|
||||
String eventEncoded = this.objectMapper.writeValueAsString(analyticsEvent);
|
||||
this.rabbitTemplate.convertAndSend("", "social_users_updated", userEncoded);
|
||||
this.rabbitTemplate.convertAndSend("", "social_events", eventEncoded);
|
||||
logger.info("RabbitMQ: user updated event sent");
|
||||
} catch (Exception ex){
|
||||
logger.error(ex.getMessage());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user