2015-11-17 80 views
1

我正在編寫一個應用程序,其中一個進程應將數據發送到多個訂閱通道。該流程不提前知道渠道(因爲客戶訂閱不同主題),因此我需要查詢所有活動訂閱以瞭解要獲取和發送的數據。 我發現Redis的命令:如何從Java獲取Redis上的當前訂閱列表

127.0.0.1:6379> pubsub channels 

但是: 1.它總是返回一個空列表 2.我無法找到的Java相當於在任一Jedis或Spring實現。

回答

0

根據我對端口的理解並基於方法文檔getSubscription()(返回此連接的當前訂閱,或者如果連接未訂閱,則返回null),我認爲這會對您有所幫助。

redisTemplate.execute(new RedisCallback<Object>(){ 
     @Override 
     public Object doInRedis(RedisConnection connection) throws DataAccessException { 
      Subscription susb = connection.getSubscription(); 
      Collection<byte[]> channels = susb.getChannels(); 
      return null; 
     } 

    }); 

Subscription具有這種連接訂閱與通道。

+0

這是否幫助你@nemiga? – Nebras