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


Java ConnectionFactoryBuilder.setLocatorType方法代码示例

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


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

示例1: create

import net.spy.memcached.ConnectionFactoryBuilder; //导入方法依赖的package包/类
@Override
public CacheClient create(final List<InetSocketAddress> addrs, final CacheConfiguration conf) throws IOException {
    // currently its works because this factory creates clients with the same connection settings, only memcached
    // addresses can be changed
    if (connectionFactory == null) {
        ConnectionFactoryBuilder builder = new ConnectionFactoryBuilder();

        if (conf.isConsistentHashing()) {
            builder.setHashAlg(DefaultHashAlgorithm.KETAMA_HASH);
            builder.setLocatorType(Locator.CONSISTENT);
        }

        builder.setProtocol(conf.isUseBinaryProtocol() ? Protocol.BINARY : Protocol.TEXT);
        if (conf.getOperationTimeout() != null) {
            builder.setOpTimeout(conf.getOperationTimeout());
        }

        if (conf instanceof SpymemcachedConfiguration) {
            setProviderSpecificSettings(builder, (SpymemcachedConfiguration) conf);
        }

        connectionFactory = builder.build();
    }

    return new MemcacheClientWrapper(new MemcachedClient(connectionFactory, addrs));
}
 
开发者ID:ragnor,项目名称:simple-spring-memcached,代码行数:27,代码来源:MemcacheClientFactoryImpl.java

示例2: create

import net.spy.memcached.ConnectionFactoryBuilder; //导入方法依赖的package包/类
@Override
public CacheClient create(final List<InetSocketAddress> addrs, final CacheConfiguration conf) throws IOException {
    // currently its works because this factory creates clients with the same connection settings, only memcached
    // addresses can be changed
    if (connectionFactory == null) {
        ElastiCacheConfiguration elasticacheConf = null;
        if (conf instanceof ElastiCacheConfiguration) {
            elasticacheConf = (ElastiCacheConfiguration) conf;
        }
        
        if (elasticacheConf != null && Boolean.TRUE.equals(elasticacheConf.getUseAutoDiscovery())) {
            // there is no way to use custom client settings and auto discovery together
            LOGGER.info("All cache settings will be ignored because useAutoDiscovery is true");
            return new MemcacheClientWrapper(new MemcachedClient(addrs));
        }
        
        
        ConnectionFactoryBuilder builder = new ConnectionFactoryBuilder();

        if (conf.isConsistentHashing()) {
            builder.setHashAlg(DefaultHashAlgorithm.KETAMA_HASH);
            builder.setLocatorType(Locator.CONSISTENT);
        }

        builder.setProtocol(conf.isUseBinaryProtocol() ? Protocol.BINARY : Protocol.TEXT);
        if (conf.getOperationTimeout() != null) {
            builder.setOpTimeout(conf.getOperationTimeout());
        }

        if (elasticacheConf != null) {
            setProviderSpecificSettings(builder, elasticacheConf);
        }

        connectionFactory = builder.build();
    }

    return new MemcacheClientWrapper(new MemcachedClient(connectionFactory, addrs));
}
 
开发者ID:ragnor,项目名称:simple-spring-memcached,代码行数:39,代码来源:MemcacheClientFactoryImpl.java

示例3: setProviderSpecificSettings

import net.spy.memcached.ConnectionFactoryBuilder; //导入方法依赖的package包/类
private void setProviderSpecificSettings(final ConnectionFactoryBuilder builder, final SpymemcachedConfiguration conf) {
    if (conf.getDaemon() != null) {
        builder.setDaemon(conf.getDaemon());
    }

    if (conf.getFailureMode() != null) {
        builder.setFailureMode(conf.getFailureMode());
    }

    if (conf.getHashAlg() != null) {
        builder.setHashAlg(conf.getHashAlg());
    }

    if (conf.getLocatorType() != null) {
        builder.setLocatorType(conf.getLocatorType());
    }

    if (conf.getMaxReconnectDelay() != null) {
        builder.setMaxReconnectDelay(conf.getMaxReconnectDelay());
    }

    if (conf.getOpQueueMaxBlockTime() != null) {
        builder.setOpQueueMaxBlockTime(conf.getOpQueueMaxBlockTime());
    }

    if (conf.getReadBufferSize() != null) {
        builder.setReadBufferSize(conf.getReadBufferSize());
    }

    if (conf.getShouldOptimize() != null) {
        builder.setShouldOptimize(conf.getShouldOptimize());
    }

    if (conf.getTimeoutExceptionThreshold() != null) {
        builder.setTimeoutExceptionThreshold(conf.getTimeoutExceptionThreshold());
    }

    if (conf.getUseNagleAlgorithm() != null) {
        builder.setUseNagleAlgorithm(conf.getUseNagleAlgorithm());
    }

    if (conf.getDefaultTranscoder() != null) {
        builder.setTranscoder(conf.getDefaultTranscoder());
    }

    if (conf.getAuthDescriptor() != null) {
        builder.setAuthDescriptor(conf.getAuthDescriptor());
    }
    
    if (conf.getAuthWaitTime() != null) {
        builder.setAuthWaitTime(conf.getAuthWaitTime());
    }

    if (conf.getInitialObservers() != null) {
        builder.setInitialObservers(conf.getInitialObservers());
    }

    if (conf.getMetricCollector() != null) {
        builder.setMetricCollector(conf.getMetricCollector());
    }

    if (conf.getMetricType() != null) {
        builder.setEnableMetrics(conf.getMetricType());
    }
    
    if (conf.getExecutorService() != null) {
        builder.setListenerExecutorService(conf.getExecutorService());
    }
}
 
开发者ID:ragnor,项目名称:simple-spring-memcached,代码行数:70,代码来源:MemcacheClientFactoryImpl.java

示例4: setProviderSpecificSettings

import net.spy.memcached.ConnectionFactoryBuilder; //导入方法依赖的package包/类
private void setProviderSpecificSettings(final ConnectionFactoryBuilder builder, final ElastiCacheConfiguration conf) {
    if (conf.getDaemon() != null) {
        builder.setDaemon(conf.getDaemon());
    }

    if (conf.getFailureMode() != null) {
        builder.setFailureMode(conf.getFailureMode());
    }

    if (conf.getHashAlg() != null) {
        builder.setHashAlg(conf.getHashAlg());
    }

    if (conf.getLocatorType() != null) {
        builder.setLocatorType(conf.getLocatorType());
    }

    if (conf.getMaxReconnectDelay() != null) {
        builder.setMaxReconnectDelay(conf.getMaxReconnectDelay());
    }

    if (conf.getOpQueueMaxBlockTime() != null) {
        builder.setOpQueueMaxBlockTime(conf.getOpQueueMaxBlockTime());
    }
    
    if (conf.getOpTimeout() != null) {
        builder.setOpTimeout(conf.getOpTimeout());
    }

    if (conf.getReadBufferSize() != null) {
        builder.setReadBufferSize(conf.getReadBufferSize());
    }

    if (conf.getShouldOptimize() != null) {
        builder.setShouldOptimize(conf.getShouldOptimize());
    }

    if (conf.getTimeoutExceptionThreshold() != null) {
        builder.setTimeoutExceptionThreshold(conf.getTimeoutExceptionThreshold());
    }

    if (conf.getUseNagleAlgorithm() != null) {
        builder.setUseNagleAlgorithm(conf.getUseNagleAlgorithm());
    }

    if (conf.getDefaultTranscoder() != null) {
        builder.setTranscoder(conf.getDefaultTranscoder());
    }

    if (conf.getAuthDescriptor() != null) {
        builder.setAuthDescriptor(conf.getAuthDescriptor());
    }
    
    if (conf.getAuthWaitTime() != null) {
        builder.setAuthWaitTime(conf.getAuthWaitTime());
    }

    if (conf.getInitialObservers() != null) {
        builder.setInitialObservers(conf.getInitialObservers());
    }
    
    if (conf.getClientMode() != null) {
        builder.setClientMode(conf.getClientMode());
    }
    
    if (conf.getEnableMetricType() != null) {
        builder.setEnableMetrics(conf.getEnableMetricType());
    }
    
    if (conf.getMetricCollector() != null) {
        builder.setMetricCollector(conf.getMetricCollector());
    }

}
 
开发者ID:ragnor,项目名称:simple-spring-memcached,代码行数:75,代码来源:MemcacheClientFactoryImpl.java


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