Ejemplo n.º 1
0
  public static net.spy.memcached.MemcachedClient createSpyMemcachedClient(MemcacheConfig config) {
    try {
      ConnectionFactoryBuilder factoryBuilder = new ConnectionFactoryBuilder();

      net.spy.memcached.transcoders.SerializingTranscoder transcoder =
          new net.spy.memcached.transcoders.SerializingTranscoder();
      transcoder.setCompressionThreshold(config.getCompressionThreshold());

      factoryBuilder.setProtocol(ConnectionFactoryBuilder.Protocol.BINARY);
      factoryBuilder.setTranscoder(transcoder);
      factoryBuilder.setOpTimeout(config.getOpTimeout());
      factoryBuilder.setTimeoutExceptionThreshold(5);
      factoryBuilder.setLocatorType(ConnectionFactoryBuilder.Locator.CONSISTENT);
      factoryBuilder.setFailureMode(FailureMode.Redistribute);
      factoryBuilder.setUseNagleAlgorithm(false);
      factoryBuilder.setHashAlg(DefaultHashAlgorithm.KETAMA_HASH);

      return new net.spy.memcached.MemcachedClient(
          factoryBuilder.build(), AddrUtil.getAddresses(config.getServers()));
    } catch (Exception ex) {
      log.error("Failed to create SpyMemcachedClient", ex);
    }
    return null;
  }