66import io .f1 .backend .domain .game .dto .MessageType ;
77import io .f1 .backend .domain .game .dto .response .HeartbeatResponse ;
88import io .f1 .backend .domain .user .dto .UserPrincipal ;
9- import java .security .Principal ;
10- import java .util .Map ;
11- import java .util .concurrent .ConcurrentHashMap ;
9+
1210import lombok .RequiredArgsConstructor ;
1311import lombok .extern .slf4j .Slf4j ;
12+
1413import org .springframework .messaging .simp .user .SimpSession ;
1514import org .springframework .messaging .simp .user .SimpUser ;
1615import org .springframework .messaging .simp .user .SimpUserRegistry ;
1716import org .springframework .scheduling .annotation .Scheduled ;
1817import org .springframework .security .authentication .UsernamePasswordAuthenticationToken ;
1918import org .springframework .stereotype .Component ;
2019
20+ import java .security .Principal ;
21+ import java .util .Map ;
22+ import java .util .concurrent .ConcurrentHashMap ;
23+
2124@ Slf4j
2225@ Component
2326@ RequiredArgsConstructor
@@ -40,17 +43,23 @@ public void monitorClientHeartbeat() {
4043 return ;
4144 }
4245
43- simpUserRegistry .getUsers ().forEach (user ->
44- user .getSessions ().forEach (session -> handleSessionHeartbeat (user , session )));
45-
46+ simpUserRegistry
47+ .getUsers ()
48+ .forEach (
49+ user ->
50+ user .getSessions ()
51+ .forEach (session -> handleSessionHeartbeat (user , session )));
4652 }
4753
4854 private void handleSessionHeartbeat (SimpUser user , SimpSession session ) {
4955 String sessionId = session .getId ();
5056
5157 /* pong */
52- messageSender .sendPersonal (getUserDestination (),
53- MessageType .HEARTBEAT , new HeartbeatResponse (DIRECTION ), user .getName ());
58+ messageSender .sendPersonal (
59+ getUserDestination (),
60+ MessageType .HEARTBEAT ,
61+ new HeartbeatResponse (DIRECTION ),
62+ user .getName ());
5463
5564 missedPongCounter .merge (sessionId , 1 , Integer ::sum );
5665 int missedCnt = missedPongCounter .get (sessionId );
@@ -60,8 +69,8 @@ private void handleSessionHeartbeat(SimpUser user, SimpSession session) {
6069
6170 Principal principal = user .getPrincipal ();
6271
63- if (principal instanceof UsernamePasswordAuthenticationToken token &&
64- token .getPrincipal () instanceof UserPrincipal userPrincipal ) {
72+ if (principal instanceof UsernamePasswordAuthenticationToken token
73+ && token .getPrincipal () instanceof UserPrincipal userPrincipal ) {
6574
6675 Long userId = userPrincipal .getUserId ();
6776 Long roomId = roomService .getRoomIdByUserId (userId );
@@ -79,5 +88,4 @@ public void resetMissedPongCount(String sessionId) {
7988 public void cleanSession (String sessionId ) {
8089 missedPongCounter .remove (sessionId );
8190 }
82-
8391}
0 commit comments