|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
用winrar打包j2ee的程序和用IDE打包应用程序是一样的。按照你的想法,你是不是也希望服务器都整合由一家公司提供呢?connection数据库毗连池简介
在传统的两层布局中,客户端程序在启动时翻开数据库毗连,在加入程序时封闭数据库毗连。如许,在全部程序运转中,每一个客户端一直占用一个数据库毗连,即便在大批没无数据库操纵的余暇工夫,如用户输出数据时,从而形成数据库毗连的利用效力低下。
在三层布局形式中,数据库毗连经由过程两头层的毗连池办理。只要当用户真正必要举行数据库操纵时,两头层才从毗连池请求一个毗连,数据库操纵终了,毗连当即开释到毗连池中,以供其他用户利用。如许,不但年夜年夜进步了数据库毗连的利用效力,使得大批用户能够共享较少的数据库毗连,并且省往了创建毗连的工夫。
毗连池的设置利用
数据库毗连池是使用服务器的一项基础功效,我们以ApusicApplicationServer为例,来讲明JDBC毗连池的设置利用。
ApusicJDBC毗连池供应对多种数据库的撑持,如Oracle、MSSqlServer、Sybase、Informix、DB2等。
ApusicJDBC毗连池能够经由过程数据库自己的JDBCDriver毗连到数据库,也能够经由过程JDBC-ODBC桥毗连到数据库。上面我们以Oracle为例申明怎样设置毗连池:
Oracle数据库的JDBCDriver包文件classes111.zip在/usr/oracle/jdbc/lib(假定oracle的安装目次是/usr/oracle)目次下,起首将classes111.zip到场到体系的CLASSPATH中。然后在apusic/config/apusic.conf(假定安装目次为apusic)中作以下设置:
<SERVICE
CLASS="com.apusic.jdbc.PoolManager"
NAME="JdbcPool:name=jdbc/sample"
>
<ATTRIBUTENAME="ExpirationTime"VALUE="300"/>
<ATTRIBUTENAME="MinCapacity"VALUE="5"/>
<ATTRIBUTENAME="URL"VALUE="jdbc:oracle:thin:@192.168.19.136:1521:orcl"/>
<ATTRIBUTENAME="ConnectionProperties"VALUE="user=gtj,password=abc123"/>
<ATTRIBUTENAME="DriverClassName"VALUE="oracle.jdbc.driver.OracleDriver"/>
<ATTRIBUTENAME="MaxCapacity"VALUE="30"/>
</SERVICE>
ExpirationTime:超不时间,单元是秒。当一个数据库毗连凌驾expirationTime设准时间不被利用
时,体系会主动封闭这个数据库毗连。默许值为300秒
MinCapacity:最小毗连数
URL:数据库的URL
ConnectionProperties:毗连属性,个中:user用户名,password暗码
DriverClassName:JDBC驱动程序类名
MaxCapacity:最年夜毗连数
192.168.19.136:oracle地点盘算机的IP地点。
挪用毗连池
我们以一个JSP程序为例,申明怎样利用毗连池。起首经由过程JNDI失掉DataSource,再的失掉毗连Connection,以下例所示:
<html>
<head>
<title>Jspsample</title>
</head>
<body>
<p>
<%@pagecontentType="text/html;charset=gb2312"%>
<%@pageimport="
java.sql.*,
javax.naming.*,
javax.sql.*
"%>
<%
try{
Contextctx=newInitialContext();
DataSourceds=(DataSource)ctx.lookup("jdbc/sample");
Connectioncon=ds.getConnection();
Statementstmt=con.createStatement();
ResultSetrs=stmt.executeQuery("selectENAMEfromEMP");
while(rs.next()){
out.println("<p>"+rs.getString(1));
}
rs.close();
stmt.close();
}catch(Exceptione){
System.out.println("jsp:"+e.getMessage());
}finally{
try{
con.close();
}catch(Exceptione1){}
}
%>
</body>
</html>
唉!都是钱闹的1.Swing和.net开发比较------从市场份额看.net开发主要占据大部分的中小型和中型的的桌面开发,原因是它封装了很多工具 |
|