當前位置:首頁 » 數據倉庫 » jndi資料庫連接池
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

jndi資料庫連接池

發布時間: 2022-05-18 06:24:47

1. jndi數據源配置,怎麼使用資料庫連接池

數據源的作用
JDBC操作的步驟:
1、 載入驅動程序
2、 連接資料庫
3、 操作資料庫
4、 關閉資料庫,釋放連接
也就是說,所有的用戶都需要經過此四步進行操作,但是這四步之中有三步對所有人都是一樣的,而所有人只有在操作上是不一樣,那麼這就造成了性能的損耗。
那麼最好的做法是,准備出一個空間,此空間里專門保存著全部的資料庫連接,以後用戶用資料庫操作的時候不用再重新載入驅動、連接資料庫之類的,而直接從此空間中取走連接,關閉的時候直接把連接放回到此空間之中。

2. java中建立資料庫連接池,有哪幾個步驟

Context context=new InitialContext();
DataSource ds=(DataSource)context.lookup("java:comp/env/jdbc/"+projectName);這里的projectName指的是你的項目名稱然後在tomcatde 的\conf\Catalina\localhost目錄下配置一個和你項目名稱相同的xml文件文件的配置方法可以去網路下很多的,這樣就可以使用連接池了。

3. JNDI DBCP C3P0 JDBC ODBC 關系與區別 通俗易懂!

常用的資料庫連接池有以下幾種:

1.基於JNDI 、C3P0 、DBCP技術的數據連接池

(1)JNDI(Java Naming and Directory Interface ):是SUN公司提供的一種標準的Java命名系統介面,是一組在Java應用中訪問命名和目錄服務的API。命名服務是將名稱和對象聯系起來,使得我們可以用名稱訪問對象。目錄服務是一種命名服務,它提供了應用編程介面(application
programming interface,API)和服務提供者介面(service provider interface,SPI)。這一點的真正含義是,要讓應用與命名服務或目錄服務交互,必須有這個服務的JNDI服務提供者,這正是JNDI
SPI發揮作用的地方。服務提供者基本上是一組類,這些類為各種具體的命名和目錄服務實現了JNDI介面—很象JDBC驅動為各種具體的資料庫系統實現了JDBC介面一樣。作為一個應用開發者,不必操心JNDI
SPI。只需要確認要使用的每一個命名或目錄服務都有服務提供者。

(2)C3P0:連接池作者是《星球大戰》迷,C3P0就是其中的一個機器人,並且這個名稱中包涵connection 和pool的單詞字母。因此叫這個名字。

(3)DBCP(DataBase connection pool):是 apache 上的一個 java 連接池項目,也是 tomcat
使用的連接池組件。單獨使用dbcp需要3個包:common-dbcp.jar,common-pool.jar ,common-collections.jar
(4)JDBC(Java DataBase
Connectivity)是Java與資料庫的介面規范,JDBC定義了一個支持標准sql功能的通用低層的應用程序編程介面(API),它由Java
語言編寫的類和介面組成,旨在讓各資料庫開發商為Java程序員提供標準的資料庫API。 JDBC
API定義了若干Java中的類,表示資料庫連接、SQL指令、結果集、資料庫元數據等。它允許Java程序員發送SQL指令並處理結果。通過驅動程序管理器,JDBC
API可利用不同的驅動程序連接不同的資料庫系統。
(5)ODBC(Open DataBase
Connectivity)是微軟倡導的、當前被業界廣泛接受的、用於資料庫訪問的應用程序編程介面(API),它以X/Open和
ISO/IEC的調用級介面(CLI)規范為基礎,並使用結構化查詢語言(SQL)作為其資料庫訪問語言。 ODBC總體結構有四個組件:

區別和聯系:
JDBC與ODBC都是基於X/Open的SQL調用級介面,
JDBC的設計在思想上沿襲了ODBC,同時在其主要抽象和SQL
CLI實現上也沿襲了ODBC,這使得JDBC容易被接受。JDBC的總體結構類似於ODBC,也有四個組件:應用程序、驅動程序管理器、驅動程序和數據源。
JDBC保持了ODBC的基本特性,也獨立於特定資料庫。

4. 如何獲取weblogic配置的JNDI資料庫連接池信息

將數據源交給容器管理,使用jndi的方式管理,可以很方便的管理資料庫連接。將數據管理庫交給容器,後面工程直接使用jndi的方式在容器中獲取jndi地址。如果變更資料庫地址,直接修改資料庫連接池的地址即可,而各工程無需再一個個的修改資料庫連接地址,簡化了資料庫的管理。今天我們看看WebLogic中數據源的配置啟動WebLogic服務,進入WebLogic控制台點擊左側的服務->數據源

5. 普通的java類能使用JNDI連接池嗎我配置了tomcat連接池,寫的JSP文件使用正常,但是用普通類卻無法使用

其實java類中也可以用的。
配置了tomcat的jndi資料庫連接池,需要啟動tomcat服務。而jsp運行正好需要啟動tomcat,這樣就可以初始化了tomcat的jndi資料庫連接池。
而在java類的main主方法裡面調用jndi資料庫連接池肯定不行,因為main是靜態的,當main運行時,jndi還沒有初始化呢。所以你可以通過jsp向servlet請求,然後通過java類來調用jndi資料庫連接池,這樣在java類中也就可以調用jndi資料庫連接池了!

6. JNDI方式配置數據池,問題是連不上遠程回資料庫,本地的是可以連接的!

資料庫配置文件里設置的正確嗎,連接不了要先檢查資料庫名,資料庫密碼以及遠程資料庫的ip是否填寫正確,你可以看下把前面的這些信息改為遠程資料庫的信息後在試。

7. 使用JNDI連接資料庫連接池問題,救命啊!!!!

最起碼的是要在web根目錄的meta-inf下建立context.xml文件讓tomcat啟動的時候讀取,幫你建立jndi名稱到數據源對象的映射啊,
比如說
<Context>

<!-- Default set of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>

<!-- Uncomment this to disable session persistence across Tomcat restarts -->
<!--
<Manager pathname="" />
-->

<Resource name="jdbc/mysql"
auth="Container"
type="javax.sql.DataSource"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
maxActive="20"
maxIdel="10"
maxWait="1000"
username="root"
password="root"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/mldn">
</Resource>

</Context>

將上面文件放在web目錄的meta-inf下面,還有你的測試代碼要在同一個web容器下運行啊,不要隨便寫個main方法就測試,那是在不同的jvm下,怎麼可能獲取到jndi對象呢,
你在問問Google老師,應該能夠解決,還有在tomcat下的lib下放置相關jar包,比如數據源,dbcp那個,還有驅動

8. 用連接池必須用jndi嗎

可以的,jdbc也可以使用連接池。jdbc和jndi的使用都是為了得到連接對象而已,他們都可以從連接池中取得連接對象,兩個都可以。只不過,jndi

9. jndi是什麼

JNDI是 Java 命名與目錄介面(Java Naming and Directory Interface),在J2EE規范中是重要的規范之一,是一組在Java應用中訪問命名和目錄服務的API,是SUN公司提供的一種標準的Java命名系統介面,命名服務將名稱和對象聯系起來,使得我們可以用名稱訪問對象。目錄服務是一種命名服務,在這種服務里,對象不但有名稱,還有屬性。