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

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

?? dbsemaphore.java

?? Java中非常實用流控制工具
?? JAVA
字號:
/*  * Copyright 2004-2006 OpenSymphony  *  * Licensed under the Apache License, Version 2.0 (the "License"); you may not  * use this file except in compliance with the License. You may obtain a copy  * of the License at  *  *   http://www.apache.org/licenses/LICENSE-2.0  *    * Unless required by applicable law or agreed to in writing, software  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the  * License for the specific language governing permissions and limitations  * under the License. *  */package org.quartz.impl.jdbcjobstore;import java.sql.Connection;import java.util.HashSet;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;/** * Base class for database based lock handlers for providing thread/resource locking  * in order to protect resources from being altered by multiple threads at the  * same time. */public abstract class DBSemaphore implements Semaphore, Constants,    StdJDBCConstants, TablePrefixAware {    private final Log log = LogFactory.getLog(getClass());    /*     * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     *      * Data members.     *      * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     */    ThreadLocal lockOwners = new ThreadLocal();    private String sql;    private String tablePrefix;        private String expandedSQL;    /*     * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     *      * Constructors.     *      * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     */    public DBSemaphore(String tablePrefix, String sql, String defaultSQL) {        this.sql = defaultSQL;        this.tablePrefix = tablePrefix;        setSQL(sql);    }    /*     * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     *      * Interface.     *      * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     */    protected Log getLog() {        return log;    }    private HashSet getThreadLocks() {        HashSet threadLocks = (HashSet) lockOwners.get();        if (threadLocks == null) {            threadLocks = new HashSet();            lockOwners.set(threadLocks);        }        return threadLocks;    }    /**     * Execute the SQL that will lock the proper database row.     */    protected abstract void executeSQL(        Connection conn, String lockName, String expandedSQL) throws LockException;        /**     * Grants a lock on the identified resource to the calling thread (blocking     * until it is available).     *      * @return true if the lock was obtained.     */    public boolean obtainLock(Connection conn, String lockName)        throws LockException {        lockName = lockName.intern();        Log log = getLog();                if(log.isDebugEnabled()) {            log.debug(                "Lock '" + lockName + "' is desired by: "                        + Thread.currentThread().getName());        }        if (!isLockOwner(conn, lockName)) {            executeSQL(conn, lockName, expandedSQL);                        if(log.isDebugEnabled()) {                log.debug(                    "Lock '" + lockName + "' given to: "                            + Thread.currentThread().getName());            }            getThreadLocks().add(lockName);            //getThreadLocksObtainer().put(lockName, new            // Exception("Obtainer..."));        } else if(log.isDebugEnabled()) {            log.debug(                "Lock '" + lockName + "' Is already owned by: "                        + Thread.currentThread().getName());        }        return true;    }           /**     * Release the lock on the identified resource if it is held by the calling     * thread.     */    public void releaseLock(Connection conn, String lockName) {        lockName = lockName.intern();        if (isLockOwner(conn, lockName)) {            if(getLog().isDebugEnabled()) {                getLog().debug(                    "Lock '" + lockName + "' returned by: "                            + Thread.currentThread().getName());            }            getThreadLocks().remove(lockName);            //getThreadLocksObtainer().remove(lockName);        } else if (getLog().isDebugEnabled()) {            getLog().warn(                "Lock '" + lockName + "' attempt to return by: "                        + Thread.currentThread().getName()                        + " -- but not owner!",                new Exception("stack-trace of wrongful returner"));        }    }    /**     * Determine whether the calling thread owns a lock on the identified     * resource.     */    public boolean isLockOwner(Connection conn, String lockName) {        lockName = lockName.intern();        return getThreadLocks().contains(lockName);    }    /**     * This Semaphore implementation does use the database.     */    public boolean requiresConnection() {        return true;    }    protected String getSQL() {        return sql;    }    protected void setSQL(String sql) {        if ((sql != null) && (sql.trim().length() != 0)) {            this.sql = sql;        }                setExpandedSQL();    }    private void setExpandedSQL() {        if (getTablePrefix() != null) {            expandedSQL = Util.rtp(this.sql, getTablePrefix());        }    }        protected String getTablePrefix() {        return tablePrefix;    }    public void setTablePrefix(String tablePrefix) {        this.tablePrefix = tablePrefix;                setExpandedSQL();    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久精品费精品国产一区二区| 亚洲一区国产视频| 欧美va亚洲va香蕉在线| 91精品福利在线一区二区三区| 欧美日韩免费视频| 91精品福利在线一区二区三区| 日韩欧美激情在线| www久久精品| 久久久精品中文字幕麻豆发布| 日韩美女一区二区三区| 久久久久久久久岛国免费| 国产亚洲精品资源在线26u| 国产精品少妇自拍| 亚洲一区在线免费观看| 日韩精品一级二级 | 日本不卡高清视频| 麻豆成人91精品二区三区| 久久99精品国产麻豆婷婷洗澡| 国产精品一区二区久久不卡| 波多野结衣视频一区| 欧美亚洲另类激情小说| 日韩欧美一区二区久久婷婷| 国产亚洲综合色| 亚洲自拍另类综合| 韩日av一区二区| www.99精品| 欧美一区二区免费| 中文字幕在线不卡视频| 天天综合色天天综合色h| 国产成人免费视频网站| 欧美亚日韩国产aⅴ精品中极品| 日韩你懂的在线播放| 国产精品国产精品国产专区不片| 亚洲午夜电影网| 狠狠色丁香九九婷婷综合五月| 成人综合婷婷国产精品久久蜜臀 | 国产精品资源网| 色婷婷激情一区二区三区| 欧美xxxx在线观看| 一区av在线播放| 国产在线精品免费| 欧美日韩精品欧美日韩精品一综合| 精品欧美乱码久久久久久1区2区| 国产精品乱码一区二区三区软件| 天天综合网天天综合色| 91网站在线观看视频| 久久嫩草精品久久久久| 亚洲国产一二三| www.日韩在线| 久久综合九色综合97_久久久| 一区二区三国产精华液| 国产a精品视频| 欧美午夜精品久久久| 亚洲国产精品黑人久久久| 秋霞午夜鲁丝一区二区老狼| 91亚洲国产成人精品一区二三| 精品卡一卡二卡三卡四在线| 一区二区三区美女视频| 99国产精品久久| 久久一二三国产| 久久精品国产秦先生| 色婷婷综合激情| 综合在线观看色| 丁香桃色午夜亚洲一区二区三区| 欧美日韩电影在线播放| 国产精品理论在线观看| 国产不卡免费视频| 久久精品视频在线免费观看| 日韩电影免费一区| 欧美一区二区三区婷婷月色| 日日摸夜夜添夜夜添国产精品| 欧美私人免费视频| 亚洲午夜免费电影| 欧美日韩一卡二卡三卡| 亚洲小说春色综合另类电影| 欧美专区亚洲专区| 午夜精品久久久久久久久久| 欧美日韩高清不卡| 奇米四色…亚洲| 久久久久一区二区三区四区| 国产精品一区免费视频| 欧美国产一区二区| 波多野结衣中文一区| 亚洲激情自拍视频| 欧美日韩高清不卡| 久久91精品国产91久久小草 | 国产999精品久久久久久| 久久久www成人免费毛片麻豆| 国产一区二区成人久久免费影院| 久久精品男人天堂av| 成人av资源在线观看| 亚洲精品免费一二三区| 欧美日韩一二区| 久久精品免费观看| 亚洲国产经典视频| 91成人在线观看喷潮| 丝袜诱惑亚洲看片| 久久久99久久| 91美女蜜桃在线| 青青国产91久久久久久| 欧美国产精品一区二区三区| 色狠狠色狠狠综合| 韩国毛片一区二区三区| 亚洲男人天堂av网| 欧美大胆人体bbbb| 一本一本大道香蕉久在线精品| 视频在线观看一区| 国产精品久久久久四虎| 欧美猛男超大videosgay| 国产sm精品调教视频网站| 亚洲福利视频一区二区| 国产无一区二区| 777色狠狠一区二区三区| 丰满少妇在线播放bd日韩电影| 亚洲国产精品久久人人爱 | 国产成人精品一区二区三区四区| 成人免费小视频| 日韩欧美中文一区二区| 成人免费福利片| 美女久久久精品| 一区二区三区日韩在线观看| 日本韩国欧美在线| 成人黄色在线网站| 老司机一区二区| 18成人在线视频| 国产亚洲va综合人人澡精品| 精品视频在线免费观看| av欧美精品.com| 国产一区二区网址| 日韩国产成人精品| 亚洲主播在线播放| 专区另类欧美日韩| 久久这里只有精品首页| 欧美精品黑人性xxxx| 色哟哟国产精品| 成人av电影在线观看| 国产一区二区三区美女| 蜜臀av国产精品久久久久| 亚洲午夜在线视频| 亚洲欧美日韩国产手机在线 | 亚洲国产精华液网站w| 欧美成人福利视频| 欧美一区二区免费观在线| 欧美精品在线观看一区二区| 日本韩国精品一区二区在线观看| 丰满放荡岳乱妇91ww| 美女脱光内衣内裤视频久久网站| 午夜日韩在线电影| 亚洲一区二区三区四区在线免费观看 | 欧美影院午夜播放| 91免费看片在线观看| 成人av影院在线| 成人性生交大片| 成人免费视频免费观看| 成人性生交大片免费看中文| 国产成人超碰人人澡人人澡| 国产高清在线精品| 国产999精品久久| 成人动漫av在线| hitomi一区二区三区精品| 成人av第一页| 色综合天天性综合| 在线免费观看日韩欧美| 欧美性色综合网| 欧美一区日韩一区| 欧美一卡二卡在线观看| 久久嫩草精品久久久久| 国产精品欧美一区喷水| 亚洲色图欧美在线| 亚洲国产精品久久艾草纯爱| 天天操天天综合网| 九一久久久久久| 成人夜色视频网站在线观看| 91一区二区三区在线播放| 欧美三级日韩在线| 日韩午夜精品电影| 国产视频一区在线播放| 一区二区三区日本| 蜜臀久久99精品久久久画质超高清| 国产乱码精品一区二区三| 99久久婷婷国产| 91麻豆精品国产91久久久久久 | 中文字幕av资源一区| 亚洲精品乱码久久久久久| 日韩专区在线视频| 国产91在线看| 欧美自拍丝袜亚洲| 国产日韩欧美高清在线| 一区二区三区在线免费| 久久成人久久爱| 色综合视频在线观看| 精品少妇一区二区三区在线播放| 国产精品每日更新在线播放网址| 亚洲妇女屁股眼交7| 国产成人鲁色资源国产91色综| 91高清在线观看| 国产欧美一区二区在线| 亚洲风情在线资源站| 成人福利视频在线| 在线成人免费视频|