Skip to content

Commit

Permalink
fix: 🐛 Revising the Refresh Event Handler (#220)
Browse files Browse the repository at this point in the history
  • Loading branch information
psychology50 authored Jan 14, 2025
1 parent e9df0c8 commit dd54569
Showing 1 changed file with 10 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@
import kr.co.pennyway.socket.common.util.StompMessageUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.ApplicationListener;
import org.springframework.context.annotation.Bean;
import org.springframework.context.event.EventListener;
import org.springframework.messaging.Message;
import org.springframework.messaging.simp.stomp.StompCommand;
import org.springframework.messaging.simp.stomp.StompHeaderAccessor;
Expand All @@ -15,25 +14,24 @@
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;

import java.util.concurrent.CompletableFuture;

@Slf4j
@Component
@RequiredArgsConstructor
public class ReceiptEventHandler {
private final ObjectMapper objectMapper;
private final AbstractSubscribableChannel clientOutboundChannel;

@Bean
@Async
public CompletableFuture<ApplicationListener<ReceiptEvent<ServerSideMessage>>> principalRefreshEventListener(final AbstractSubscribableChannel clientOutboundChannel) {
return CompletableFuture.completedFuture(event -> {
Message<ServerSideMessage> message = event.getMessage();
StompHeaderAccessor accessor = StompHeaderAccessor.getAccessor(message, StompHeaderAccessor.class);
@EventListener
public void handle(ReceiptEvent<ServerSideMessage> event) {
log.debug("handle: {}", event);

Message<ServerSideMessage> message = event.getMessage();
StompHeaderAccessor accessor = StompHeaderAccessor.getAccessor(message, StompHeaderAccessor.class);

Message<byte[]> payload = StompMessageUtil.createMessage(accessor, message.getPayload(), objectMapper);
Message<byte[]> payload = StompMessageUtil.createMessage(accessor, message.getPayload(), objectMapper);

sendReceiptMessage(clientOutboundChannel, accessor, payload.getPayload());
});
sendReceiptMessage(clientOutboundChannel, accessor, payload.getPayload());
}

private void sendReceiptMessage(AbstractSubscribableChannel clientOutboundChannel, StompHeaderAccessor accessor, byte[] payload) {
Expand Down

0 comments on commit dd54569

Please sign in to comment.