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 com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import dev.mednikov.social.users.events.UserCreatedEvent;
|
import dev.mednikov.social.users.events.UserCreatedEvent;
|
||||||
import dev.mednikov.social.users.events.UserUpdatedEvent;
|
import dev.mednikov.social.users.events.UserUpdatedEvent;
|
||||||
|
import dev.mednikov.social.users.models.User;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||||
@@ -26,10 +27,16 @@ public class MessageService {
|
|||||||
@EventListener
|
@EventListener
|
||||||
@Async
|
@Async
|
||||||
public void onUserCreatedEventListener (UserCreatedEvent event) {
|
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 {
|
try {
|
||||||
String userEncoded = this.objectMapper.writeValueAsString(payload);
|
String userEncoded = this.objectMapper.writeValueAsString(payload);
|
||||||
|
String eventEncoded = this.objectMapper.writeValueAsString(analyticsEvent);
|
||||||
this.rabbitTemplate.convertAndSend("", "social_users_created", userEncoded);
|
this.rabbitTemplate.convertAndSend("", "social_users_created", userEncoded);
|
||||||
|
this.rabbitTemplate.convertAndSend("", "social_events", eventEncoded);
|
||||||
|
logger.info("RabbitMQ: User created event sent");
|
||||||
} catch (Exception ex){
|
} catch (Exception ex){
|
||||||
logger.error(ex.getMessage());
|
logger.error(ex.getMessage());
|
||||||
}
|
}
|
||||||
@@ -39,9 +46,14 @@ public class MessageService {
|
|||||||
@Async
|
@Async
|
||||||
public void onUserUpdatedEventListener (UserUpdatedEvent event) {
|
public void onUserUpdatedEventListener (UserUpdatedEvent event) {
|
||||||
UserPayload payload = new UserPayload(event.getUser());
|
UserPayload payload = new UserPayload(event.getUser());
|
||||||
|
Long userId = event.getUser().getId();
|
||||||
|
AnalyticsEvent analyticsEvent = new AnalyticsEvent(userId, "users_updated");
|
||||||
try {
|
try {
|
||||||
String userEncoded = this.objectMapper.writeValueAsString(payload);
|
String userEncoded = this.objectMapper.writeValueAsString(payload);
|
||||||
|
String eventEncoded = this.objectMapper.writeValueAsString(analyticsEvent);
|
||||||
this.rabbitTemplate.convertAndSend("", "social_users_updated", userEncoded);
|
this.rabbitTemplate.convertAndSend("", "social_users_updated", userEncoded);
|
||||||
|
this.rabbitTemplate.convertAndSend("", "social_events", eventEncoded);
|
||||||
|
logger.info("RabbitMQ: user updated event sent");
|
||||||
} catch (Exception ex){
|
} catch (Exception ex){
|
||||||
logger.error(ex.getMessage());
|
logger.error(ex.getMessage());
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user