當前位置: 首頁>>代碼示例>>Java>>正文


Java GenericObjectPool.returnObject方法代碼示例

本文整理匯總了Java中org.apache.commons.pool.impl.GenericObjectPool.returnObject方法的典型用法代碼示例。如果您正苦於以下問題:Java GenericObjectPool.returnObject方法的具體用法?Java GenericObjectPool.returnObject怎麽用?Java GenericObjectPool.returnObject使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.apache.commons.pool.impl.GenericObjectPool的用法示例。


在下文中一共展示了GenericObjectPool.returnObject方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: returnToPool

import org.apache.commons.pool.impl.GenericObjectPool; //導入方法依賴的package包/類
private void returnToPool(Object obj, Map<Class<?>, GenericObjectPool> pools) {
  try {
    GenericObjectPool pool = pools.get(obj.getClass());
    if (pool == null) {
      throw new IllegalStateException("Received unexpected decompressor.");
    }
    pool.returnObject(obj);
  } catch (Exception e) {
    throw new DrillRuntimeException(e);
  }

}
 
開發者ID:skhalifa,項目名稱:QDrill,代碼行數:13,代碼來源:DirectCodecPool.java

示例2: releaseChannelToPool

import org.apache.commons.pool.impl.GenericObjectPool; //導入方法依賴的package包/類
private void releaseChannelToPool(TargetChannel targetChannel, GenericObjectPool pool) throws Exception {
    try {
        if (targetChannel.getChannel().isActive()) {
            pool.returnObject(targetChannel);
        }
    } catch (Exception e) {
        throw new Exception("Cannot return channel to pool", e);
    }
}
 
開發者ID:wso2,項目名稱:carbon-transports,代碼行數:10,代碼來源:ConnectionManager.java

示例3: returnToPool

import org.apache.commons.pool.impl.GenericObjectPool; //導入方法依賴的package包/類
private void returnToPool(Object obj, Map<Class<?>, GenericObjectPool> pools) {
  try {
    GenericObjectPool pool = pools.get(obj.getClass());
    if (pool == null) {
      throw new IllegalStateException("Received unexpected compressor or decompressor, " +
          "cannot be returned to any available pool: " + obj.getClass().getSimpleName());
    }
    pool.returnObject(obj);
  } catch (Exception e) {
    throw new ParquetCompressionCodecException(e);
  }
}
 
開發者ID:apache,項目名稱:parquet-mr,代碼行數:13,代碼來源:DirectCodecFactory.java

示例4: CodecPool

import org.apache.commons.pool.impl.GenericObjectPool; //導入方法依賴的package包/類
private CodecPool(final CompressionCodec codec){
  try {
    boolean supportDirectDecompressor = codec instanceof DirectDecompressionCodec;
    compressorPool = new GenericObjectPool(new BasePoolableObjectFactory() {
      public Object makeObject() throws Exception {
        return codec.createCompressor();
      }
    }, Integer.MAX_VALUE);

    Object com = compressorPool.borrowObject();
    if (com != null) {
      cPools.put(com.getClass(), compressorPool);
      compressorPool.returnObject(com);
    }else{
      logger.warn("Unable to find compressor for codec {}", codec.getClass().getName());
    }

    decompressorPool = new GenericObjectPool(new BasePoolableObjectFactory() {
      public Object makeObject() throws Exception {
        return codec.createDecompressor();
      }
    }, Integer.MAX_VALUE);

    Object decom = decompressorPool.borrowObject();
    if (decom != null) {
      dePools.put(decom.getClass(), decompressorPool);
      decompressorPool.returnObject(decom);
    } else {
      logger.warn("Unable to find decompressor for codec {}", codec.getClass().getName());
    }

    if (supportDirectDecompressor) {
      directDecompressorPool = new GenericObjectPool(new BasePoolableObjectFactory() {
        public Object makeObject() throws Exception {
          return ((DirectDecompressionCodec) codec).createDirectDecompressor();
        }
      }, Integer.MAX_VALUE);

      Object ddecom = directDecompressorPool.borrowObject();
      if (ddecom != null) {
        directDePools.put(ddecom.getClass(), directDecompressorPool);
        directDecompressorPool.returnObject(ddecom);

      } else {
        supportDirectDecompressor = false;
        logger.warn("Unable to find direct decompressor for codec {}", codec.getClass().getName());
      }

    } else {
      directDecompressorPool = null;
    }

    this.supportDirectDecompressor = supportDirectDecompressor;
  } catch (Exception e) {
    throw new DrillRuntimeException(e);
  }
}
 
開發者ID:skhalifa,項目名稱:QDrill,代碼行數:58,代碼來源:DirectCodecPool.java

示例5: CodecPool

import org.apache.commons.pool.impl.GenericObjectPool; //導入方法依賴的package包/類
private CodecPool(final CompressionCodec codec){
  try {
    boolean supportDirectDecompressor = codec.getClass() == DIRECT_DECOMPRESSION_CODEC_CLASS;
    compressorPool = new GenericObjectPool(new BasePoolableObjectFactory() {
      public Object makeObject() throws Exception {
        return codec.createCompressor();
      }
    }, Integer.MAX_VALUE);

    Object com = compressorPool.borrowObject();
    if (com != null) {
      cPools.put(com.getClass(), compressorPool);
      compressorPool.returnObject(com);
    } else {
      if (LOG.isDebugEnabled()) {
        LOG.debug(String.format(BYTE_BUF_IMPL_NOT_FOUND_MSG, "compressor", codec.getClass().getName()));
      }
    }

    decompressorPool = new GenericObjectPool(new BasePoolableObjectFactory() {
      public Object makeObject() throws Exception {
        return codec.createDecompressor();
      }
    }, Integer.MAX_VALUE);

    Object decom = decompressorPool.borrowObject();
    if (decom != null) {
      dePools.put(decom.getClass(), decompressorPool);
      decompressorPool.returnObject(decom);
    } else {
      if (LOG.isDebugEnabled()) {
        LOG.debug(String.format(BYTE_BUF_IMPL_NOT_FOUND_MSG, "decompressor", codec.getClass().getName()));
      }
    }

    if (supportDirectDecompressor) {
      directDecompressorPool = new GenericObjectPool(
          new BasePoolableObjectFactory() {
            public Object makeObject() throws Exception {
              return CREATE_DIRECT_DECOMPRESSOR_METHOD.invoke(DIRECT_DECOMPRESSION_CODEC_CLASS);
            }
          }, Integer.MAX_VALUE);

      Object ddecom = directDecompressorPool.borrowObject();
      if (ddecom != null) {
        directDePools.put(ddecom.getClass(), directDecompressorPool);
        directDecompressorPool.returnObject(ddecom);

      } else {
        supportDirectDecompressor = false;
        if (LOG.isDebugEnabled()) {
          LOG.debug(String.format(BYTE_BUF_IMPL_NOT_FOUND_MSG, "compressor", codec.getClass().getName()));
        }
      }

    } else {
      directDecompressorPool = null;
    }

    this.supportDirectDecompressor = supportDirectDecompressor;
  } catch (Exception e) {
    throw new ParquetCompressionCodecException("Error creating compression codec pool.", e);
  }
}
 
開發者ID:apache,項目名稱:parquet-mr,代碼行數:65,代碼來源:DirectCodecFactory.java


注:本文中的org.apache.commons.pool.impl.GenericObjectPool.returnObject方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。