利用 JNDI 訪問資料來源、Java Message Service、郵件會話和 URL 串連的串連池
瞭解 JNDI
JNDI 是一種API (API) 或庫,它為應用程式提供了將名稱與對象關聯起來以及根據對象的名稱在目錄中尋找對象的方法。本文是系列教程的第一部分,閱讀本文可以讓您瞭解如何將 Geronimo、JNDI 與資料來源串連池相互關聯起來,如何構建資料來源串連,以及如何利用 JNDI 在一個簡單的 Geronimo 應用程式(稱為 Customer Service 公用程式)內訪問該串連。
資料來源 是指對象或工廠,用於產生與應用程式內的實際資料來源(通常是資料庫)的串連。在 Java Platform, Enterprise Edition (Java EE) 中,此資料來源是指資料庫連接池,一組隨時可用的資料庫連接。建立資料來源或資料庫池的原因是它能夠提高應用程式效能,因為即使開啟一個串連也會十分佔用 CPU。
Customer Service 公用程式(可在本文的 下載 部分獲得)是一個簡單的 Web 應用程式,它允許將基本的客戶資訊儲存到資料庫中。您將使用 Apache Ant 1.6.5 和 Java 1.4.2_10 構建該公用程式,將其部署到配有 Tomcat 的 Geronimo 1.1 上,並使用與 Geronimo 綁定的 Apache Derby 資料庫。下一節將介紹如何使用 Geronimo 控制台建立此資料庫和資料來源。
設定 Geronimo
Geronimo 控制台可以以一種方便使用的方式管理 Java EE 組件。當 Geronimo 啟動後,可以訪問位於 http://localhost:8080/console 的 Geronimo 控制台。預設的使用者名稱和密碼分別是 system 和 manager。
開始步驟:
單擊位於 Console Navigation 面板左下角的 DB Manager 連結。此連結資料表示 Derby 資料庫管理員。
通過在 Create DB 欄位中鍵入 CustomerServiceDatabase 建立客戶服務資料庫,然後單擊 Create 按鈕。
通過在 Use DB 下拉式菜單中選擇 CustomerServiceDatabase 來建立資料庫表。
然後將清單 1 中所示的 SQL 指令碼中的內容粘貼到表中,並單擊 Run SQL 按鈕。請注意,原始碼中附帶了清單 1 中的 SQL 指令碼。
清單 1. SQL 指令碼
CustomerService-Part1.sql
create table customers (
customerid varchar(10) primary key,
fullname varchar(30),
emailaddress varchar(30),
interests varchar(100)
);
insert into customers values ('A100','John Doe10','Doe10@work.com','Java,Open Source,
Computer Graphics');
insert into customers values ('b100','Jane Doe20','Doe20@home.net','Budget Travel, New
Zealand, Martial Arts');
現在應當已在 Derby 中建立了客戶服務資料庫。該資料庫只有一張表 Customers,該表中只有兩個條目。圖 1 顯示了單擊 Application 連結,再單擊 View Contents 連結後出現的經正常初始化的表。
圖 1. 初始化後的客戶服務資料庫