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<String, Object> messageMap = (Map<String, Object>) gson.fromJson(publishMessage, Object.class);
|
|
CommonUtil.sendWebSocketMessage(this.simpMessagingTemplate, messageMap);
|
|
} catch (Exception ex) {
|
System.out.println("ex : " + ex.getMessage());
|
}
|
}
|
}
|