首頁 培訓計劃 培訓課程 企業內訓 學員論壇 技術文章 成功案例 師資簡介 關于我們 在線留言  
J2EE開發資料
JNDI 在 J2EE 中的角色收藏

文章來源:http://blog.csdn.net/tt39635552/archive/2009/02/10 作者: 發布日期:2009-10-23
打 印】【關 閉

  掌握 J2EE 是件令人生畏的事,因為它包含的技術和縮略語在不斷地增長。Java 命名和目錄接口(Java Naming and Directory Interface,JNDI)從一開始就一直是 Java 2 平臺企業版(JEE)的核心,但是 J2EE 開發新手經常用不好它。本文將消除 JNDI 在 J2EE 應用程序中所扮演角色的神秘性,并展示它如何幫助應用程序從部署細節中解脫出來。

        雖然 J2EE 平臺提高了普通企業開發人員的生活水平,但是這種提高是以不得不學習許多規范和技術為代價的,這些規范和技術則是 J2EE 為了成為無所不包的分布式計算平臺而整合進來的。Dolly Developer 是眾多開發人員中的一員,她已經發現了一個特性,該特性有助于緩解隨企業級應用程序部署而帶來的負擔,這個特性就是 JNDI,即 Java 命名與目錄接口(Java Naming and Directory Interface)。讓我們來看看 Dolly 在沒有 JNDI 的時候是怎么做的,以及她是如何正確地應用 JNDI 來改善其狀況的。

        所有人都非常熟悉的旅程

        Dolly Developer 正在編寫使用 JDBC 數據源的 Web 應用程序。她知道自己正在使用 MySQL,所以她將一個對 MySQL JDBC 驅動程序類的引用進行了編碼,并通過使用適當的 JDBC URL 連接到其 Web 應用程序中的數據庫。她認識到數據庫連接池的重要性,所以她包含了一個連接池包,并把它配置成最多使用 64 個連接;她知道數據庫服務器已經被設置成最多允許 128 臺客戶機進行連接。

        Dolly 在走向災難

        在開發階段,每件事都進行得很順利。但是,在部署的時候,開始失控。Dolly 的網絡管理員告訴她,她不能從她的桌面機訪問生產服務器或登臺服務器(staging server),所以她不得不為每個部署階段開發不同的代碼版本。因為這種情況,她需要一個新的 JDBC URL,所以還要為測試、階段和生產進行獨立的部署。(一聽到要在每個環境中建立單獨部署,熟悉配置管理的人會戰戰兢兢的,但是既然這是種非常普遍的情況,所以他們也只好硬著頭皮上了。)

        就在 Dolly 認為通過不同的 URL 建立彼此獨立的部署已經解決了自己的配置問題時,她發現她的數據庫管理員不想在生產環境中運行 MySQL 實例。他說,MySQL 用作開發還可以,但是對于任務關鍵型數據而言,業務標準是 DB2®?,F在她的構建不僅在數據庫 URL 方面有所不同,而且還需要不同的驅動程序。

        事情越變越糟。她的應用程序非常有用,并且變得非常關鍵,以致于它從應用服務器那里得到了故障恢復的能力,并被復制到 4 個服務器集群。但是數據庫管理員提出了抗議,因為她的應用程序的每個實例都要使用 64 個連接,而數據庫服務器總共只有 200 個可用連接 —— 全部都被 Dolly 的應用程序占用了。更麻煩的是,DBA 已經確定 Dolly 的應用程序只需要 32 個連接,而且每天只有一個小時在使用。隨著她的應用程序規模擴大,應用程序遇到了數據庫級的爭用問題,而她的惟一選擇就是改變集群的連接數量,而且還要做好準備,在集群數量增長或者應用程序復制到另一個集群時再重復一次這樣的操作??磥硭呀洓Q定了如何配置應用程序,應用程序的配置最好是留給系統管理員和數據庫管理員來做。

打 印】【關 閉

上一篇:如何高效使用JavaEE ORM框架
下一篇:結合struts和hibernate談J2EE架構的數據表示
相關新聞
版權所有©威課網 粵ICP備13058727號