Skip to content

Commit 676edae

Browse files
authored
Merge pull request #329 from Kernel360/fix/#326-fix-SSE-alarm
�fix: 메세지 전체 전송 로그 상세하게 출력되도록 추가
2 parents fa9b3cb + 8d61a8b commit 676edae

File tree

2 files changed

+12
-7
lines changed

2 files changed

+12
-7
lines changed

monicar-control-center/src/main/java/org/controlcenter/alarm/application/AlarmService.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -136,14 +136,16 @@ public void sendMessageToUser(String userId, String message) {
136136

137137
public void sendAll(SendAlarm sendAlarm) {
138138
sseEmitters.forEach((userId, emitter) -> {
139-
System.out.println("sendAll userId = " + userId);
139+
System.out.println("Attempting to send to userId = " + userId);
140140
try {
141-
emitter.send(
142-
SseEmitter.event()
143-
.name(String.valueOf(sendAlarm.getStatus()))
144-
.data(sendAlarm, MediaType.APPLICATION_JSON)
145-
);
141+
SseEmitter.SseEventBuilder event = SseEmitter.event()
142+
.name(String.valueOf(sendAlarm.getStatus()))
143+
.data(sendAlarm, MediaType.APPLICATION_JSON);
144+
System.out.println("Event data: " + sendAlarm);
145+
emitter.send(event);
146+
System.out.println("Successfully sent to userId = " + userId);
146147
} catch (IOException e) {
148+
System.err.println("Error sending to userId = " + userId + ": " + e.getMessage());
147149
sseEmitters.remove(userId);
148150
}
149151
});

monicar-control-center/src/main/java/org/controlcenter/alarm/presentation/AlarmController.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import org.springframework.http.MediaType;
1616
import org.springframework.security.access.prepost.PreAuthorize;
1717
import org.springframework.security.core.annotation.AuthenticationPrincipal;
18+
import org.springframework.web.bind.annotation.CrossOrigin;
1819
import org.springframework.web.bind.annotation.GetMapping;
1920
import org.springframework.web.bind.annotation.PatchMapping;
2021
import org.springframework.web.bind.annotation.PathVariable;
@@ -37,7 +38,8 @@ public class AlarmController implements AlarmApi {
3738

3839
private final AlarmService alarmService;
3940

40-
@GetMapping(value = "/subscribe", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
41+
@CrossOrigin(origins = "*", allowedHeaders = "*")
42+
@GetMapping("/subscribe")
4143
@PreAuthorize("hasRole('ROLE_USER')")
4244
public SseEmitter subscribe(@AuthenticationPrincipal CustomUserDetails user) {
4345
return alarmService.subscribe(user.getId());
@@ -64,6 +66,7 @@ public void send(
6466
alarmService.newAlarmRequest(alarmId);
6567
}
6668

69+
@CrossOrigin(origins = "*", allowedHeaders = "*")
6770
@GetMapping
6871
@PreAuthorize("hasRole('ROLE_USER')")
6972
public BaseResponse<PageResponse<AlarmResponse>> list(

0 commit comments

Comments
 (0)