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

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

?? jndirefforwardingdatasource.java

?? c3p0數據庫連接池實現源碼
?? JAVA
字號:
/* * Distributed as part of c3p0 v.0.9.1-pre6 * * Copyright (C) 2005 Machinery For Change, Inc. * * Author: Steve Waldman <swaldman@mchange.com> * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License version 2.1, as  * published by the Free Software Foundation. * * This software 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 Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this software; see the file LICENSE.  If not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, * Boston, MA 02111-1307, USA. */package com.mchange.v2.c3p0;import java.beans.PropertyChangeEvent;import java.beans.PropertyChangeListener;import java.beans.VetoableChangeListener;import java.beans.PropertyVetoException;import java.io.PrintWriter;import java.sql.Connection;import java.sql.SQLException;import java.util.Hashtable;import javax.naming.Name;import javax.naming.NamingException;import javax.naming.InitialContext;import javax.sql.DataSource;import com.mchange.v2.log.MLevel;import com.mchange.v2.log.MLog;import com.mchange.v2.log.MLogger;import com.mchange.v2.sql.SqlUtils;import com.mchange.v2.c3p0.impl.JndiRefDataSourceBase;final class JndiRefForwardingDataSource extends JndiRefDataSourceBase implements DataSource{    final static MLogger logger = MLog.getLogger( JndiRefForwardingDataSource.class );    {	VetoableChangeListener l = new VetoableChangeListener()	    {		public void vetoableChange( PropertyChangeEvent evt ) throws PropertyVetoException		{		    Object val = evt.getNewValue();		    if ( "jndiName".equals( evt.getPropertyName() ) )			{			    if (! (val instanceof Name || val instanceof String) )				throw new PropertyVetoException("jndiName must be a String or a javax.naming.Name", evt);			}		}	    };	this.addVetoableChangeListener( l );	PropertyChangeListener pcl = new PropertyChangeListener()	    {		public void propertyChange( PropertyChangeEvent evt )		{ cachedInner = null; }	    };	this.addPropertyChangeListener( pcl );	C3P0Registry.register( this );    }    //MT: protected by this' lock in all cases    transient DataSource cachedInner;    //MT: called only from inner(), effectively synchrtonized    private DataSource dereference() throws SQLException    {	Object jndiName = this.getJndiName();	Hashtable jndiEnv = this.getJndiEnv();	try	    {		InitialContext ctx;		if (jndiEnv != null)		    ctx = new InitialContext( jndiEnv );		else		    ctx = new InitialContext();		if (jndiName instanceof String)		    return (DataSource) ctx.lookup( (String) jndiName );		else if (jndiName instanceof Name)		    return (DataSource) ctx.lookup( (Name) jndiName );		else		    throw new SQLException("Could not find ConnectionPoolDataSource with " +					   "JNDI name: " + jndiName);	    }	catch( NamingException e )	    {		//e.printStackTrace();		if ( logger.isLoggable( MLevel.WARNING ) )		    logger.log( MLevel.WARNING, "An Exception occurred while trying to look up a target DataSource via JNDI!", e );		throw SqlUtils.toSQLException( e ); 	    }    }    private synchronized DataSource inner() throws SQLException    {	if (cachedInner != null)	    return cachedInner;	else	    {		DataSource out = dereference();		if (this.isCaching())		    cachedInner = out;		return out;	    }    }    public Connection getConnection() throws SQLException    { return inner().getConnection(); }    public Connection getConnection(String username, String password) throws SQLException    { return inner().getConnection( username, password );  }    public PrintWriter getLogWriter() throws SQLException    { return inner().getLogWriter(); }    public void setLogWriter(PrintWriter out) throws SQLException    { inner().setLogWriter( out ); }    public int getLoginTimeout() throws SQLException    { return inner().getLoginTimeout(); }    public void setLoginTimeout(int seconds) throws SQLException    { inner().setLoginTimeout( seconds ); }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕+乱码+中文字幕一区| 99视频精品免费视频| 欧美一区二区观看视频| 亚洲va欧美va国产va天堂影院| 在线精品视频小说1| 亚洲电影中文字幕在线观看| 欧美日韩三级一区二区| 蜜桃精品视频在线| 欧美bbbbb| 亚洲第一狼人社区| jvid福利写真一区二区三区| 国产成人精品影视| jlzzjlzz欧美大全| 91老师片黄在线观看| 99re这里都是精品| 欧美日韩国产精品成人| 欧美va亚洲va香蕉在线| 国产日韩欧美一区二区三区乱码 | 99精品视频在线免费观看| 最新日韩在线视频| 欧美性一二三区| 美腿丝袜亚洲一区| 欧美精彩视频一区二区三区| 色综合久久天天| 久热成人在线视频| 中文字幕在线不卡国产视频| 欧美日韩视频在线一区二区| 国产在线观看一区二区| 一区二区三区四区在线| 欧美zozo另类异族| 色婷婷激情一区二区三区| 蜜桃视频在线观看一区| 一色桃子久久精品亚洲| 欧美一区二区二区| www.亚洲色图| 久久国产人妖系列| 亚洲在线视频免费观看| 久久精品免费在线观看| 日本道色综合久久| 国产一区在线不卡| 亚洲aⅴ怡春院| 亚洲私人影院在线观看| 精品乱人伦一区二区三区| 91亚洲精品久久久蜜桃| 国产综合色在线视频区| 亚洲国产精品久久人人爱| 国产婷婷色一区二区三区在线| 欧美日韩亚州综合| 91丨国产丨九色丨pron| 国产又黄又大久久| 日韩一区精品字幕| 亚洲激情图片一区| 中国色在线观看另类| 精品免费国产一区二区三区四区| 欧美综合一区二区| 91在线无精精品入口| 粉嫩13p一区二区三区| 久久成人免费网| 日本欧美在线观看| 亚洲国产精品综合小说图片区| 国产精品私人影院| 国产人妖乱国产精品人妖| 精品免费国产一区二区三区四区| 欧美巨大另类极品videosbest | 亚洲综合在线视频| 中文字幕欧美三区| 国产校园另类小说区| 欧美成人r级一区二区三区| 这里只有精品免费| 91精品国产综合久久福利软件| 欧洲人成人精品| 在线亚洲一区二区| 99re热视频精品| 在线视频一区二区三| 成人av在线一区二区三区| 成人综合激情网| 不卡在线观看av| 白白色 亚洲乱淫| 91亚洲精品久久久蜜桃| 91天堂素人约啪| 在线一区二区三区做爰视频网站| 91老司机福利 在线| 在线看国产日韩| 4hu四虎永久在线影院成人| 欧美日本国产视频| 日韩欧美精品在线视频| 日韩午夜中文字幕| 久久综合狠狠综合久久激情| 久久精品一区二区三区不卡| 欧美激情艳妇裸体舞| 成人欧美一区二区三区| 亚洲图片一区二区| 久久精品国产秦先生| 久久91精品久久久久久秒播| 国产激情精品久久久第一区二区| 懂色中文一区二区在线播放| 99久久99精品久久久久久| 在线观看视频一区二区欧美日韩| 欧美亚洲综合在线| 欧美一区二区三区日韩| 久久久久久久网| 亚洲乱码一区二区三区在线观看| 一区二区三区四区国产精品| 午夜不卡av在线| 国精产品一区一区三区mba视频 | 精品一二线国产| 国产xxx精品视频大全| 91免费视频大全| 91精品久久久久久久久99蜜臂| 久久亚洲影视婷婷| 亚洲精品欧美激情| 精品午夜久久福利影院| 99久久精品国产导航| 51午夜精品国产| 国产精品理伦片| 日本在线观看不卡视频| 国产xxx精品视频大全| 欧美日韩激情一区二区| 久久免费的精品国产v∧| 亚洲欧美视频在线观看| 久久国产综合精品| 色一情一伦一子一伦一区| 欧美一区二区三区免费在线看| 国产欧美日韩在线观看| 午夜精品久久久| 99久久精品免费看| 日韩一区二区三| 一区二区三区在线免费| 国产成人免费视频| 欧美一级夜夜爽| 亚洲最色的网站| 国产suv精品一区二区883| 欧美肥妇bbw| 亚洲激情图片qvod| 美女一区二区久久| 在线观看亚洲成人| 国产精品萝li| 国产精品亚洲а∨天堂免在线| 欧美亚洲免费在线一区| 日本一区二区免费在线 | 亚洲激情网站免费观看| youjizz久久| 精品噜噜噜噜久久久久久久久试看| 日韩毛片高清在线播放| 成人性生交大片免费看中文网站| 91精品国产欧美一区二区18 | 久久久久久电影| 日韩不卡手机在线v区| 在线观看亚洲专区| 亚洲伦理在线精品| 91麻豆高清视频| 亚洲欧美日韩国产综合在线| 国产黑丝在线一区二区三区| 欧美大片一区二区| 日本欧美久久久久免费播放网| 欧美特级限制片免费在线观看| 国产精品久久一卡二卡| 国产成人在线看| 日本一区二区三区免费乱视频 | av亚洲精华国产精华| 久久久噜噜噜久久人人看 | 久久天天做天天爱综合色| 日韩中文字幕av电影| 欧美三级中文字幕在线观看| 亚洲男同性恋视频| 在线观看欧美日本| 亚洲制服丝袜在线| 欧美精品久久99久久在免费线 | 亚洲国产三级在线| 欧美在线观看视频一区二区 | 欧美日韩大陆一区二区| 亚洲尤物在线视频观看| 91久久精品一区二区二区| 亚洲黄色录像片| 精品视频在线免费观看| 三级成人在线视频| 日韩欧美一区二区久久婷婷| 久久99国产精品成人| 久久免费精品国产久精品久久久久 | 日韩激情中文字幕| 日韩一级片网址| 九一久久久久久| 久久久精品影视| 99视频精品在线| 亚洲成av人片在线| 日韩一区二区在线观看视频 | 亚洲a一区二区| 欧美不卡一区二区| 国产成人99久久亚洲综合精品| 国产欧美1区2区3区| 欧洲一区二区三区在线| 日韩av网站在线观看| 精品粉嫩aⅴ一区二区三区四区| 国产高清在线精品| 亚洲欧美视频一区| 日韩午夜电影在线观看| 成人爱爱电影网址| 石原莉奈在线亚洲二区| 国产日韩欧美在线一区| 欧美亚洲日本一区|