亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? postcache.java

?? 解觖java技術中后臺無法上傳數(shù)給的情況
?? JAVA
字號:
/*
 * $Header: /cvsroot/mvnforum/mvnforum/src/com/mvnforum/db/PostCache.java,v 1.8 2006/04/14 17:05:26 minhnn Exp $
 * $Author: minhnn $
 * $Revision: 1.8 $
 * $Date: 2006/04/14 17:05:26 $
 *
 * ====================================================================
 *
 * Copyright (C) 2002-2006 by MyVietnam.net
 *
 * All copyright notices regarding mvnForum MUST remain 
 * intact in the scripts and in the outputted HTML.
 * The "powered by" text/logo with a link back to
 * http://www.mvnForum.com and http://www.MyVietnam.net in 
 * the footer of the pages MUST remain visible when the pages
 * are viewed on the internet or intranet.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 * Support can be obtained from support forums at:
 * http://www.mvnForum.com/mvnforum/index
 *
 * Correspondence and Marketing Questions can be sent to:
 * info at MyVietnam net
 *
 * @author: Minh Nguyen  
 * @author: Mai  Nguyen  
 */
package com.mvnforum.db;

import java.util.Collection;

import com.mvnforum.MVNForumConfig;
import com.whirlycott.cache.*;
import net.myvietnam.mvncore.exception.AssertionException;
import net.myvietnam.mvncore.exception.DatabaseException;
import net.myvietnam.mvncore.util.DateUtil;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import java.sql.Timestamp;

public class PostCache {

    public static final long TIME_OUT = DateUtil.MINUTE * 10;

    private static Log log = LogFactory.getLog(PostCache.class);

    // static singleton variable
    static private PostCache instance = new PostCache();

    // instance variable
    private Cache cache;

    public PostCache() {
        //Use the cache manager to create the default cache
        try {
            if (MVNForumConfig.getEnableCachePost()) {
                cache = CacheManager.getInstance().getCache("post");
            }
        } catch (CacheException ex) {
            log.error("Cannot get the WhirlyCache. Post caching is disabled.", ex);
        } catch (LinkageError e) {
            // @todo: Should be never throw
            log.error("Cannot get the WhirlyCache caused by Package Conflict. Post caching is disabled.", e);
        }
    }

    /**
     * Returns the single instance
     * @return PostCache : the singleton instance.
     *
     * NOTE: if use normal singleton pattern, this method should be synchronized
     */
    static public PostCache getInstance() {
        return instance;
    }

    public String getEfficiencyReport() {
        String result = "No report";
        if (cache == null) {
            if (MVNForumConfig.getEnableCachePost() == false) {
                result = "Cache is disabled.";
            } else {
                result = "Cache cannot be inited";
            }
        } else if (cache instanceof CacheDecorator) {
            result = ((CacheDecorator)cache).getEfficiencyReport();
        }
        return result;
    }

    public void clear() {
        if (cache != null) {
            cache.clear();
        }
    }

    public PostBean getLastEnablePost_inThread(int threadID)
        throws DatabaseException, AssertionException {

        PostBean postBean = null;
        if (cache != null) {
            String key = new String("getLastEnablePost_inThread" + threadID);
            postBean = (PostBean)cache.retrieve(key);
            if (postBean == null) {
                //log.debug("PostCache: about to call getLastEnablePost_inThread with id = " + threadID);

                Collection cPostTemp = DAOFactory.getPostDAO().getLastEnablePosts_inThread_limit(threadID, 1);
                if (cPostTemp.size() != 1) {
                    //String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.AssertionException.wrong_size", new Object[] {"PostBeans", "==",new Integer(cPostTemp.size())});
                    //throw new AssertionException(localizedMessage);
                    throw new AssertionException("Assertion: PostBeans size == 1 (but the value = " + cPostTemp.size() + ")");
                }
                postBean = (PostBean) (cPostTemp.iterator().next());

                cache.store(key, postBean, TIME_OUT);
            }
        } else {
            Collection cPostTemp = DAOFactory.getPostDAO().getLastEnablePosts_inThread_limit(threadID, 1);
            if (cPostTemp.size() != 1) {
                //String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.AssertionException.wrong_size", new Object[] {"PostBeans", "==",new Integer(cPostTemp.size())});
                //throw new AssertionException(localizedMessage);
                throw new AssertionException("Assertion: PostBeans size == 1 (but the value = " + cPostTemp.size() + ")");
            }
            postBean = (PostBean) (cPostTemp.iterator().next());
        }

        if (postBean == null) {
            throw new AssertionException("Assertion cannot find the row in table Post "
                                          + "where getLastEnablePost_inThread = (" + threadID + ").");
        }
        return postBean;
    }

    public Collection getEnablePosts_inThread_limit(int threadID, int offset, int rowsToReturn)
        throws DatabaseException {

        Collection result = null;
        if (cache != null) {
            StringBuffer buffer = new StringBuffer(128);
            buffer.append("getEnablePosts_inThread_limit");
            buffer.append(threadID).append("_");
            buffer.append(offset).append("_");
            buffer.append(rowsToReturn).append("_");
            String key = buffer.toString();
            result = (Collection)cache.retrieve(key);
            if (result == null) {
                result = DAOFactory.getPostDAO().getEnablePosts_inThread_limit(threadID, offset, rowsToReturn);

                cache.store(key, result, TIME_OUT);
            }
        } else {
            result = DAOFactory.getPostDAO().getEnablePosts_inThread_limit(threadID, offset, rowsToReturn);
        }

        return result;
    }

    public Collection getMostActiveMembers(Timestamp since, int rowsToReturn)
        throws DatabaseException {

        Collection result = null;
        if (cache != null) {
            StringBuffer buffer = new StringBuffer(128);
            buffer.append("getMostActiveMembers");
            //buffer.append(since.getTime()).append("_");
            buffer.append(rowsToReturn).append("_");
            String key = buffer.toString();
            result = (Collection)cache.retrieve(key);
            if (result == null) {
                result = DAOFactory.getPostDAO().getMostActiveMembers(since, rowsToReturn);

                cache.store(key, result, TIME_OUT);
            }
        } else {
            result = DAOFactory.getPostDAO().getMostActiveMembers(since, rowsToReturn);
        }

        return result;
    }

    public Collection getMostActiveThreads(Timestamp since, int rowsToReturn)
        throws DatabaseException {

        Collection result = null;
        if (cache != null) {
            StringBuffer buffer = new StringBuffer(128);
            buffer.append("getMostActiveThreads");
            //buffer.append(since.getTime()).append("_");
            buffer.append(rowsToReturn).append("_");
            String key = buffer.toString();
            result = (Collection)cache.retrieve(key);
            if (result == null) {
                result = DAOFactory.getPostDAO().getMostActiveThreads(since, rowsToReturn);

                cache.store(key, result, TIME_OUT);
            }
        } else {
            result = DAOFactory.getPostDAO().getMostActiveThreads(since, rowsToReturn);
        }

        return result;
    }

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品亚洲午夜一区二区三区| 亚洲高清免费在线| 亚洲精品在线观| 欧美在线观看你懂的| 成人在线综合网站| 国产一区在线观看视频| 日韩在线a电影| 亚洲午夜久久久久久久久电影院| 亚洲欧美日韩一区二区三区在线观看| 欧美经典一区二区| 欧美韩国一区二区| 国产欧美一区二区三区在线看蜜臀| 欧美一级黄色录像| 91麻豆精品国产91久久久久久久久 | 午夜精品在线看| 成人动漫一区二区三区| 国产成人免费视频网站 | 一区二区在线观看不卡| 亚洲欧美日韩中文字幕一区二区三区 | 91麻豆精品久久久久蜜臀| 欧美精品久久久久久久多人混战| 51精品秘密在线观看| 欧美tk丨vk视频| 久久色视频免费观看| 久久综合九色综合欧美98| 久久久一区二区三区| 国产精品女主播av| 最新高清无码专区| 亚洲小说春色综合另类电影| 日韩中文字幕不卡| 国产最新精品免费| 国产福利不卡视频| av一区二区三区黑人| 欧洲av在线精品| 欧美一区二区三级| 精品久久久久久久久久久久久久久| 精品国产在天天线2019| 国产亚洲欧美中文| 亚洲精品中文字幕乱码三区| 亚洲一区在线看| 久久99久久久欧美国产| 成人动漫视频在线| 8x8x8国产精品| 在线观看视频欧美| 蜜臀99久久精品久久久久久软件| 蜜桃av一区二区| 成人h动漫精品| 欧美日韩免费视频| 久久精品视频网| 一区二区三区日韩精品| 日本不卡1234视频| 国产福利精品一区二区| 欧美丝袜丝交足nylons图片| 精品久久一区二区| 亚洲人吸女人奶水| 久久精品噜噜噜成人88aⅴ| 粉嫩绯色av一区二区在线观看| 色狠狠一区二区三区香蕉| 4438x亚洲最大成人网| 久久久精品国产免大香伊| 亚洲人成精品久久久久久 | 极品瑜伽女神91| 国产成人精品免费一区二区| 欧美日韩亚洲综合在线| 国产女人aaa级久久久级| 午夜精品一区二区三区免费视频| 国产jizzjizz一区二区| 91麻豆精品国产自产在线| 欧美国产国产综合| 亚洲高清三级视频| 99天天综合性| 欧美xxxx在线观看| 一区二区三区不卡在线观看| 麻豆精品视频在线观看免费 | 欧美在线色视频| 国产亚洲一二三区| 色婷婷久久综合| 久久嫩草精品久久久精品| 亚洲一区二区av在线| 国产福利一区二区三区| 91精品国产黑色紧身裤美女| 亚洲人成网站影音先锋播放| 国产成人在线视频网址| 日韩三级伦理片妻子的秘密按摩| 亚洲激情中文1区| 成人av免费在线播放| 久久日一线二线三线suv| 日韩制服丝袜先锋影音| 欧美三级电影网| 亚洲欧美一区二区三区孕妇| 成人性视频免费网站| 91精品在线免费观看| 日韩美女视频19| 成人免费电影视频| 国产日韩成人精品| 免费久久精品视频| 欧美日韩国产欧美日美国产精品| 亚洲欧美日韩系列| 99久久久久免费精品国产| 亚洲国产高清aⅴ视频| 国产在线精品一区二区| 日韩欧美www| 免费成人av在线| 色94色欧美sute亚洲线路一ni| 国产亚洲美州欧州综合国| 久久国产精品一区二区| 8v天堂国产在线一区二区| 亚洲444eee在线观看| 色94色欧美sute亚洲线路二| 亚洲四区在线观看| 色偷偷一区二区三区| 精品电影一区二区三区| 精品日产卡一卡二卡麻豆| 婷婷久久综合九色综合绿巨人| 色天天综合色天天久久| 一区二区三区四区蜜桃| 91影院在线观看| 亚洲欧洲精品一区二区精品久久久| 成人午夜激情影院| 亚洲欧洲三级电影| 91精品办公室少妇高潮对白| 亚洲精品免费播放| 欧美亚洲国产一区在线观看网站 | 中文字幕欧美日本乱码一线二线| 国产99久久久精品| 亚洲视频图片小说| 91亚洲午夜精品久久久久久| 综合中文字幕亚洲| 在线电影欧美成精品| 日本亚洲视频在线| 久久色在线观看| 一本到三区不卡视频| 亚洲成人免费在线| 欧美电影免费观看高清完整版在线 | 日韩你懂的电影在线观看| 蜜臀国产一区二区三区在线播放| 欧美一级在线观看| 国产乱码精品一区二区三区五月婷 | 欧美成人猛片aaaaaaa| 免费成人在线观看| 26uuu精品一区二区| 不卡影院免费观看| 亚洲电影你懂得| 2020国产精品自拍| 91看片淫黄大片一级在线观看| 亚洲bt欧美bt精品| 久久午夜老司机| 欧美在线你懂的| 老司机精品视频导航| 国产精品高潮久久久久无| 欧美日韩国产系列| 国产成人8x视频一区二区| 亚洲影视在线观看| 欧美变态口味重另类| 色综合天天综合色综合av | 亚洲少妇最新在线视频| 欧美性猛片aaaaaaa做受| 国产揄拍国内精品对白| 亚洲自拍偷拍欧美| 久久伊人中文字幕| 欧美伊人久久大香线蕉综合69 | 欧美日韩视频在线第一区| 亚洲午夜激情网站| 在线观看日产精品| 亚洲成人1区2区| 国产目拍亚洲精品99久久精品| 国产一区二区不卡| 亚洲成人高清在线| 久久综合九色综合97婷婷| 欧美在线观看视频在线| 国产乱人伦精品一区二区在线观看 | 亚洲国产色一区| 综合分类小说区另类春色亚洲小说欧美| 精品久久久久久综合日本欧美 | 久久精品久久久精品美女| 亚洲已满18点击进入久久| 1024精品合集| 国产精品国产自产拍在线| 欧美国产一区在线| 亚洲国产精品国自产拍av| xnxx国产精品| 久久免费国产精品| 久久无码av三级| 国产欧美一区二区精品性色超碰| 精品电影一区二区| 精品人伦一区二区色婷婷| 911精品国产一区二区在线| 欧美性xxxxxx少妇| 欧美午夜电影在线播放| 欧美无乱码久久久免费午夜一区| 在线观看日韩电影| 欧美色网一区二区| 欧美日韩国产综合一区二区| 欧美亚男人的天堂| 欧美另类久久久品| 欧美一区二区免费视频| 欧美成人三级电影在线| 久久久精品日韩欧美| 亚洲国产成人私人影院tom| 亚洲欧洲av一区二区三区久久|