@Override
    public void destroy() {
        super.destroy();
        cache.clear();
        listener.remove();
    }
@Test
    public void testSubscriptionTimeout() {
        Config config = new Config();
        config.useSingleServer()
                .setSubscriptionsPerConnection(2)
                .setSubscriptionConnectionPoolSize(1)
                .setAddress(redisson.getConfig().useSingleServer().getAddress());
        RedissonClient redisson = Redisson.create(config);

        RLocalCachedMap<Object, Object> m1 = redisson.getLocalCachedMap(LocalCachedMapOptions.name("pubsub_test1"));
        ScheduledExecutorService e = Executors.newSingleThreadScheduledExecutor();
        e.schedule(() -> {
            m1.destroy();
        }, 1, TimeUnit.SECONDS);

        RLocalCachedMap<Object, Object> m2 = redisson.getLocalCachedMap(LocalCachedMapOptions.name("pubsub_test2"));

        redisson.shutdown();
    }