⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 threadsingletonpool.java

📁 Xfire文件 用于开发web service 的一个开源工具 很好用的
💻 JAVA
字号:
package org.codehaus.xfire.util.factory;

/**
 * Represents a pooling strategy that pools the data into a ThreadLocal object.
 * 
 * @author Ben Yu
 */
public class ThreadSingletonPool
    implements Pool
{
    private static final class ThreadLocalCache
        extends ThreadLocal
    {
        protected Object initialValue()
        {
            return new CachingPool();
        }

        CachingPool getPool()
        {
            return (CachingPool) this.get();
        }
    }

    private transient ThreadLocalCache cache = new ThreadLocalCache();

    private void readObject(java.io.ObjectInputStream in)
        throws ClassNotFoundException, java.io.IOException
    {
        in.defaultReadObject();
        cache = new ThreadLocalCache();
    }

    public Object getInstance(Factory factory)
        throws Throwable
    {
        return cache.getPool().getInstance(factory);
        /*
         * Object v = cache.get(); if(v==null){ v = factory.create();
         * cache.set(v); } return v;
         */
    }

    public Object getPooledInstance(Object def)
    {
        return cache.getPool().getPooledInstance(def);
    }

    public boolean isPooled()
    {
        return cache.getPool().isPooled();
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -