当前位置: 首页>>代码示例>>Java>>正文


Java Jedis.subscribe方法代码示例

本文整理汇总了Java中redis.clients.jedis.Jedis.subscribe方法的典型用法代码示例。如果您正苦于以下问题:Java Jedis.subscribe方法的具体用法?Java Jedis.subscribe怎么用?Java Jedis.subscribe使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在redis.clients.jedis.Jedis的用法示例。


在下文中一共展示了Jedis.subscribe方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: MessageConsumerRedisImpl

import redis.clients.jedis.Jedis; //导入方法依赖的package包/类
/**
 *
 * @param redisConnection redis 连接类
 * @param channels 订阅的频道列表
 */
public MessageConsumerRedisImpl(RedisConnection redisConnection, String[] channels) {
    Jedis jedis = null;
    try {
        if (channels != null && channels.length > 0) {
            jedis = redisConnection.getJedis();
            jedis.subscribe(new JedisPubSub() {
                @Override
                public void onMessage(String channel, String message) {
                    System.out.println("receive " + message + " from " + channel);
                    handleMessage(message);
                }
            }, channels);
        }
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        if (jedis != null) {
            jedis.close();
        }
    }
}
 
开发者ID:gaochao2000,项目名称:redis_util,代码行数:27,代码来源:MessageConsumerRedisImpl.java

示例2: subscribe

import redis.clients.jedis.Jedis; //导入方法依赖的package包/类
public void subscribe(JedisPubSub jedisPubSub, String channel) {
    Collection<JedisPool> poolCollection = jedisCluster.getClusterNodes().values();
    Iterator iterator = poolCollection.iterator();

    while(iterator.hasNext()) {
        JedisPool jedisPool = (JedisPool)iterator.next();
        Jedis jedis = null;

        try {
            jedis = jedisPool.getResource();
            jedis.subscribe(jedisPubSub, new String[]{channel});
        } catch (Exception var11) {
            throw new RuntimeException(var11);
        } finally {
            jedisPool.returnResourceObject(jedis);
        }
    }

}
 
开发者ID:bitstd,项目名称:bitstd,代码行数:20,代码来源:RedisCacheWithCluster.java

示例3: subscribe

import redis.clients.jedis.Jedis; //导入方法依赖的package包/类
public void subscribe(JedisPubSub jedisPubSub, String channel) {
    Jedis jedis = null;

    try {
        jedis = pool.getResource();
        jedis.subscribe(jedisPubSub, new String[]{channel});
    } catch (Exception var8) {
        throw new RuntimeException(var8);
    } finally {
        pool.returnResourceObject(jedis);
    }

}
 
开发者ID:bitstd,项目名称:bitstd,代码行数:14,代码来源:RedisCacheWithoutCluster.java

示例4: run

import redis.clients.jedis.Jedis; //导入方法依赖的package包/类
public void run() {
    running.set(true);
    while (running.get()) {
        j = new Jedis(host, port);
        try {
            // double check that it is not being shutdown
            if (!running.get()) {
                break;
            }
            j.subscribe(new JedisPubSub() {
                @Override
                public void onMessage(String channel, String message) {
                    log.fine("Sentinel " + host + ":" + port + " published: " + message + ".");

                    String[] switchMasterMsg = message.split(" ");

                    if (switchMasterMsg.length > 3) {

                        if (masterName.equals(switchMasterMsg[0])) {
                            initPool(toHostAndPort(Arrays.asList(switchMasterMsg[3], switchMasterMsg[4])));
                        } else {
                            log.fine("Ignoring message on +switch-master for master name "
                                    + switchMasterMsg[0] + ", our master name is " + masterName);
                        }

                    } else {
                        log.severe("Invalid message received on Sentinel " + host + ":" + port
                                + " on channel +switch-master: " + message);
                    }
                }
            }, "+switch-master");

        } catch (JedisConnectionException e) {
            if (running.get()) {
                log.log(Level.SEVERE, "Lost connection to Sentinel at " + host + ":" + port
                        + ". Sleeping 5000ms and retrying.", e);
                try {
                    Thread.sleep(subscribeRetryWaitTimeMillis);
                } catch (InterruptedException e1) {
                    log.log(Level.SEVERE, "Sleep interrupted: ", e1);
                }
            } else {
                log.fine("Unsubscribing from Sentinel at " + host + ":" + port);
            }
        } finally {
            j.close();
        }
    }
}
 
开发者ID:YanXs,项目名称:nighthawk,代码行数:50,代码来源:JaRedisSentinelPool.java


注:本文中的redis.clients.jedis.Jedis.subscribe方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。