public synchronized void removeListen(String groupKey, String connectionId) {
        
        //1. remove groupKeyContext
        Set<String> connectionIds = groupKeyContext.get(groupKey);
        if (connectionIds != null) {
            connectionIds.remove(connectionId);
            if (connectionIds.isEmpty()) {
                groupKeyContext.remove(groupKey);
            }
        }
        
        //2.remove connectionIdContext
        HashMap<String, String> groupKeys = connectionIdContext.get(connectionId);
        if (groupKeys != null) {
            groupKeys.remove(groupKey);
        }
    }
@Test
    void testRemoveListen() {
        configChangeListenContext.addListen("groupKey", "md5", "connectionId");
        configChangeListenContext.removeListen("groupKey", "connectionId");
        Set<String> groupKey = configChangeListenContext.getListeners("groupKey");
        assertNull(groupKey);
    }