2012-04-19 67 views
0

我剛開始第一次使用JNDI。我正在使用部署在tomcat上的Spring Mvc開發一個Web應用程序,連接到一個Mysql數據庫。應該爲Web應用程序數據源使用哪些JNDI InitialContext實現?

從我的理解來看,使用JNDI數據源的原因是希望在本地運行應用程序並在實時服務器上連接到不同的數據庫,但不希望爲了執行此操作而必須更改任何配置;我從JNDI中獲取數據源,這給了我不同機器上不同的數據源。

我的問題是我不確定什麼JNDI上下文我應該用於我的Java對象?我在網上找到的例子的範圍傾向於說「從JNDI中檢索」,而沒有說明JNDI上下文是什麼。

詳細說明,我應該使用LDAP嗎?或者我應該使用tomcat?如果我使用的是tomcat,本地JDNI對象與全局對象相比有什麼意義?即,肯定是當地的一個意味着我不得不改變配置設置時,我想的JNDI對象是不同的,因此我爲什麼懶得配置我的JNDI數據源擺在首位?直覺上,我會想象一個全局的tomcat JNDI上下文將是最好的選擇,但我只是一個小概略。

回答

1

按我的經驗,你可以使用相同的應用程序,而不是硬編碼任何東西到代碼關於數據庫的信息,仍然要連接到不同的數據庫時,不做任何更改部署應用程序。

例如,您將移動到DEV - > QA - > ... - > Prod都可能具有相同的JNDI名稱但是,它們將在不同的環境中配置不同。使用相同的戰爭/耳朵沒有任何改變。上TC配置

JNDI名稱(每ENV可變) - CODE移動通過不同的環境

JNDI給你在配置方面鬆耦合。

相關問題