日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

jndi连接池链接mysql_使用容器提供的数据库连接池--JNDI用法

發(fā)布時間:2025/4/16 数据库 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jndi连接池链接mysql_使用容器提供的数据库连接池--JNDI用法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

現(xiàn)在,數(shù)據(jù)庫的連接沒有用到連接池幾乎很少很少,每個項目組都可能有自己的數(shù)據(jù)庫連接池組件,各容器提供商也提供了各自的數(shù)據(jù)庫連接池,下面介紹一下tomcat和weblogic使用JNDI的數(shù)據(jù)庫連接管理。

本文中用到的數(shù)據(jù)庫信息如下:

數(shù)據(jù)庫:ms sql server

host: demo

database: test

DriverName: com.microsoft.jdbc.sqlserver.SQLServerDriver

(注:數(shù)據(jù)庫驅(qū)動,weblogic放在$BEA$/weblogic81/common/lib下,tomcat放在自己項目/WebRoot/WEB-INF/lib下)

User: sa

password: sa

數(shù)據(jù)源:JNDI_Test

1、服務(wù)器配置:

現(xiàn)在的容器提供商都提供了管理工具,可以通過服務(wù)器管理工作來配置數(shù)據(jù)庫連接池和數(shù)據(jù)源。

下面就目前流行的weblogic和tomcat來說明

1.1 Weblogic配置

weblogic得先配置數(shù)據(jù)庫連接池,再配置數(shù)據(jù)源,配置完成后,config.xml中的Domain(這里是myserver)內(nèi)增加如下信息:

DriverName="com.microsoft.jdbc.sqlserver.SQLServerDriver"

Name="MyJDBCConnPool" PasswordEncrypted="{3DES}iEg3VohwDmo="

Properties="user=sa;url=jdbc:microsoft:sqlserver://demo:1433;selectMethod=cursor;dataSourceName=SQL2000JDBC;userName=sa;datab

aseName=test;serverName=demo"

Targets="myserver" TestTableName="SQL SELECT 1" URL="jdbc:microsoft:sqlserver://demo:1433"/>

PoolName="MyJDBCConnPool" Targets="myserver"/>

1.2 tomcat配置

Tomcat直接在相應(yīng)的Context下配置(這里是test,也可以在GlobalNamingResources,該配置方法請查找相關(guān)資料)數(shù)據(jù)源,配置服務(wù)器配置

完成后,相應(yīng)的Context配置文件如下:

url

jdbc:microsoft:sqlserver://demo:1433;DatabaseName=test

password

sa

maxActive

10

maxWait

5000

driverClassName

com.microsoft.jdbc.sqlserver.SQLServerDriver

username

sa

maxIdle

2

2、用法:

2.1 一般用法

可以創(chuàng)建數(shù)據(jù)庫連接管理器來管理數(shù)據(jù)庫連接,類如下:

/*

* 創(chuàng)建日期 2005-8-26

*

* 數(shù)據(jù)庫連接管理器 V0.1

*

*/

package com.brewx.db;

import java.sql.Connection;

import java.sql.SQLException;

import javax.naming.Context;

import javax.naming.InitialContext;

import javax.naming.NamingException;

import javax.sql.DataSource;

/**

* @author?Jinghui

*

*/

public final class DBConnectionManager {

//JNDI名稱

private static String JNDIName = "JNDI_Test";

//是否是Tomcat服務(wù)器

private static boolean isTomcat = true;

//同步鎖

private static Object initLock = new Object();

//數(shù)據(jù)源,提供數(shù)據(jù)連接

private static DataSource dataSource = null;

/**

* 從數(shù)據(jù)源中取得數(shù)據(jù)庫連接

* @return connetion 數(shù)據(jù)庫連接

* @throws SQLException

* @throws NamingException

*/

public static Connection getConnection() throws SQLException,

NamingException {

if (dataSource == null) {

synchronized (initLock) {

if (dataSource == null) {

Context ctx = new InitialContext();

if (isTomcat) {

//如果是tomcat,則查找上下文java:comp/env

ctx = (Context) ctx.lookup("java:comp/env");

}

//查找數(shù)據(jù)源

dataSource = (DataSource) ctx.lookup(JNDIName);

}

}

}

return dataSource.getConnection();

}

}

2.2 在hibernate中的用法

在hibernate下的tomcat配置請參閱hibernate手冊。

weblogic配置如下:

net.sf.hibernate.dialect.SQLServerDialect

JNDI_Test

......

3. 總結(jié)這種方法配置與用法都很簡單,如果性能能過關(guān)的話(我沒有對性能進(jìn)行測試:)),是值得使用。

總結(jié)

以上是生活随笔為你收集整理的jndi连接池链接mysql_使用容器提供的数据库连接池--JNDI用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。