Skip to content

Commit 0f7bf33

Browse files
authored
fix : 웹소켓 연결 후 일정 시간이 지나면 ActiveMQ와의 연결이 끊기는 문제 해결 (#178)
- 일정 시간동안 아무런 데이터가 오가지 않으면 웹소켓의 메시지 브로커(ActiveMQ)가 자동으로 연결을 끊어버림 - heart beat 기능을 애플리케이션 단에 직접 구현함 - idle timeout 이슈를 해결하기 위해 activemq가 실행되고 있는 ec2 인스턴스의 인바운드 규칙을 편집함
1 parent f1819bb commit 0f7bf33

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package org.ezcode.codetest.infrastructure.scheduler;
2+
3+
import org.springframework.messaging.simp.SimpMessagingTemplate;
4+
import org.springframework.scheduling.annotation.Scheduled;
5+
import org.springframework.stereotype.Component;
6+
7+
@Component
8+
public class StompKeepAliveScheduler {
9+
10+
private final SimpMessagingTemplate messagingTemplate;
11+
12+
public StompKeepAliveScheduler(SimpMessagingTemplate messagingTemplate) {
13+
this.messagingTemplate = messagingTemplate;
14+
}
15+
16+
// 15초마다 실행 (ActiveMQ TTL인 20초보다 짧게 설정)
17+
@Scheduled(fixedDelay = 15000)
18+
public void sendKeepAliveMessage() {
19+
this.messagingTemplate.convertAndSend("/topic/keep-alive", "ping");
20+
}
21+
}

0 commit comments

Comments
 (0)