2012-04-19 36 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给你在配置方面松耦合。

相关问题