package kr.wisestone.owl.config.websocket; import com.google.gson.Gson; import kr.wisestone.owl.util.CommonUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.connection.Message; import org.springframework.data.redis.connection.MessageListener; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.messaging.simp.SimpMessagingTemplate; import java.util.Map; public class RedisSubscriber implements MessageListener { @Autowired private RedisTemplate redisTemplate; @Autowired private SimpMessagingTemplate simpMessagingTemplate; @Override public void onMessage(Message message, byte[] pattern) { try { Gson gson = new Gson(); String publishMessage = (String) this.redisTemplate.getStringSerializer().deserialize(message.getBody()); Map messageMap = (Map) gson.fromJson(publishMessage, Object.class); CommonUtil.sendWebSocketMessage(this.simpMessagingTemplate, messageMap); } catch (Exception ex) { System.out.println("ex : " + ex.getMessage()); } } }