001
014
015 package com.liferay.portal.cache.memcached;
016
017 import net.spy.memcached.MemcachedClientIF;
018
019 import org.apache.commons.pool.ObjectPool;
020
021
024 public class PooledMemcachedClientFactory implements MemcachedClientFactory {
025
026 public void clear() throws Exception {
027 _memcachedClientPool.clear();
028 }
029
030 public void close() throws Exception {
031 _memcachedClientPool.close();
032 }
033
034 public void destroy() {
035 try {
036 close();
037 }
038 catch (Exception e) {
039 }
040 }
041
042 public MemcachedClientIF getMemcachedClient() throws Exception {
043 return (MemcachedClientIF)_memcachedClientPool.borrowObject();
044 }
045
046 public int getNumActive() {
047 return _memcachedClientPool.getNumActive();
048 }
049
050 public int getNumIdle() {
051 return _memcachedClientPool.getNumIdle();
052 }
053
054 public void invalidateMemcachedClient(MemcachedClientIF memcachedClient)
055 throws Exception {
056
057 _memcachedClientPool.invalidateObject(memcachedClient);
058 }
059
060 public void returnMemcachedObject(MemcachedClientIF memcachedClient)
061 throws Exception {
062
063 _memcachedClientPool.returnObject(memcachedClient);
064 }
065
066 public void setMemcachedClientPool(ObjectPool memcachedClientPool) {
067 _memcachedClientPool = memcachedClientPool;
068 }
069
070 private ObjectPool _memcachedClientPool;
071
072 }