package com.qianwen.core.websocket.holder; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import com.qianwen.core.websocket.custom.SubscriptionSessionFilter; import org.springframework.web.socket.WebSocketSession; public final class JsonMessageFilterHolder { private static final Map MESSAGE_HANDLER_MAP = new ConcurrentHashMap<>(); private JsonMessageFilterHolder() { } public static SubscriptionSessionFilter getFilter(String type) { return MESSAGE_HANDLER_MAP.get(type); } public static void addFilter(SubscriptionSessionFilter filter) { MESSAGE_HANDLER_MAP.put(filter.type(), filter); } public static void closeSession(WebSocketSession session) { MESSAGE_HANDLER_MAP.forEach((key, filter) -> { filter.onClose(session); }); } }