Refactoring
This commit is contained in:
@@ -9,6 +9,7 @@ import org.eclipse.microprofile.reactive.messaging.Message;
|
||||
|
||||
import java.util.UUID;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.CompletionStage;
|
||||
|
||||
/**
|
||||
* Bridge qui consomme depuis Kafka et envoie via WebSocket pour le chat.
|
||||
@@ -21,9 +22,12 @@ public class ChatKafkaBridge {
|
||||
|
||||
/**
|
||||
* Consomme les messages chat depuis Kafka et les route vers WebSocket.
|
||||
*
|
||||
* @param message Message Kafka contenant un ChatMessageEvent
|
||||
* @return CompletionStage pour gérer l'ack/nack asynchrone
|
||||
*/
|
||||
@Incoming("kafka-chat")
|
||||
public void processChatMessage(Message<ChatMessageEvent> message) {
|
||||
public CompletionStage<Void> processChatMessage(Message<ChatMessageEvent> message) {
|
||||
try {
|
||||
ChatMessageEvent event = message.getPayload();
|
||||
|
||||
@@ -38,17 +42,17 @@ public class ChatKafkaBridge {
|
||||
// Envoyer via WebSocket au destinataire
|
||||
ChatWebSocketNext.sendMessageToUser(recipientId, wsMessage);
|
||||
|
||||
// Acknowledger le message Kafka
|
||||
message.ack();
|
||||
|
||||
Log.debug("[CHAT-BRIDGE] Message routé vers WebSocket pour: " + event.getRecipientId());
|
||||
|
||||
// Acknowledger le message Kafka
|
||||
return message.ack();
|
||||
|
||||
} catch (IllegalArgumentException e) {
|
||||
Log.error("[CHAT-BRIDGE] UUID invalide dans l'événement", e);
|
||||
message.nack(e);
|
||||
return message.nack(e);
|
||||
} catch (Exception e) {
|
||||
Log.error("[CHAT-BRIDGE] Erreur traitement événement", e);
|
||||
message.nack(e);
|
||||
return message.nack(e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -8,6 +8,8 @@ import org.eclipse.microprofile.reactive.messaging.Incoming;
|
||||
import org.eclipse.microprofile.reactive.messaging.Message;
|
||||
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.concurrent.CompletionStage;
|
||||
|
||||
/**
|
||||
* Bridge qui consomme depuis Kafka et envoie via WebSocket pour les notifications.
|
||||
@@ -27,9 +29,10 @@ public class NotificationKafkaBridge {
|
||||
* Consomme les événements depuis Kafka et les route vers WebSocket.
|
||||
*
|
||||
* @param message Message Kafka contenant un NotificationEvent
|
||||
* @return CompletionStage pour gérer l'ack/nack asynchrone
|
||||
*/
|
||||
@Incoming("kafka-notifications")
|
||||
public void processNotification(Message<NotificationEvent> message) {
|
||||
public CompletionStage<Void> processNotification(Message<NotificationEvent> message) {
|
||||
try {
|
||||
NotificationEvent event = message.getPayload();
|
||||
|
||||
@@ -44,17 +47,17 @@ public class NotificationKafkaBridge {
|
||||
// Envoyer via WebSocket
|
||||
NotificationWebSocketNext.sendToUser(userId, wsMessage);
|
||||
|
||||
// Acknowledger le message Kafka
|
||||
message.ack();
|
||||
|
||||
Log.debug("[KAFKA-BRIDGE] Notification routée vers WebSocket pour: " + event.getUserId());
|
||||
|
||||
// Acknowledger le message Kafka
|
||||
return message.ack();
|
||||
|
||||
} catch (IllegalArgumentException e) {
|
||||
Log.error("[KAFKA-BRIDGE] UUID invalide dans l'événement", e);
|
||||
message.nack(e);
|
||||
return message.nack(e);
|
||||
} catch (Exception e) {
|
||||
Log.error("[KAFKA-BRIDGE] Erreur traitement événement", e);
|
||||
message.nack(e);
|
||||
return message.nack(e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@ import org.eclipse.microprofile.reactive.messaging.Incoming;
|
||||
import org.eclipse.microprofile.reactive.messaging.Message;
|
||||
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.CompletionStage;
|
||||
|
||||
/**
|
||||
* Bridge qui consomme depuis Kafka et envoie via WebSocket pour les réactions.
|
||||
@@ -23,9 +24,12 @@ public class ReactionKafkaBridge {
|
||||
|
||||
/**
|
||||
* Consomme les réactions depuis Kafka et les route vers WebSocket.
|
||||
*
|
||||
* @param message Message Kafka contenant un ReactionEvent
|
||||
* @return CompletionStage pour gérer l'ack/nack asynchrone
|
||||
*/
|
||||
@Incoming("kafka-reactions")
|
||||
public void processReaction(Message<ReactionEvent> message) {
|
||||
public CompletionStage<Void> processReaction(Message<ReactionEvent> message) {
|
||||
try {
|
||||
ReactionEvent event = message.getPayload();
|
||||
|
||||
@@ -50,14 +54,14 @@ public class ReactionKafkaBridge {
|
||||
}
|
||||
|
||||
// Acknowledger le message Kafka
|
||||
message.ack();
|
||||
return message.ack();
|
||||
|
||||
} catch (IllegalArgumentException e) {
|
||||
Log.error("[REACTION-BRIDGE] UUID invalide dans l'événement", e);
|
||||
message.nack(e);
|
||||
return message.nack(e);
|
||||
} catch (Exception e) {
|
||||
Log.error("[REACTION-BRIDGE] Erreur traitement événement", e);
|
||||
message.nack(e);
|
||||
return message.nack(e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user