我是JNDI的新手,我对Java有一些了解,我们可以使用它来绑定和解除绑定对象,并使用用户友好的名称。但是我正在尝试学习JNDI服务,我尝试在互联网上了解JNDI目录服务,他们试图解释我们可以通过使用属性来存储属性、检索它们和搜索对象。
但我无法分析JNDI目录服务的实际概念。如果有人能解释一下,什么是JNDI中的目录服务,并给出一些实时示例,我感到很高兴。我也尝试过oracle文档,所以请不要再向我推荐文档了。
发布于 2014-07-27 15:07:35
是啊,我终于解决了我的问题,
与JNDI的命名服务相比,目录服务究竟是什么?
答:通过使用JNDI命名服务,我们可以将具有用户友好名称的对象存储在名为JNDI服务器的集中位置。
我们可以在任何java应用程序中检索它们,而无需在单个应用程序中重新创建它们。
当您希望在应用程序中获得数据库连接而不是在应用程序中创建数据库连接时,这是很有帮助的,您可以通过使用JNDI的命名服务轻松地从JNDI服务器获得现成的连接对象。
这就像,你可以去图书馆,从图书馆得到你想要的书,而不是自己买所有的书。
进入JNDI的目录服务,通过使用目录服务,您可以使用用户友好的名称来存储对象,同时还可以存储一些附加信息。此附加信息可以像键值对一样存储,也称为属性。
例如,在JNDI服务器上,您希望获得现成的连接对象,但是JNDI中存在很多连接对象,一个连接指向MYSQL数据库,另一个连接指向ORACLE数据库,现在如何知道哪个连接对象指向指向ORACLE的MYSQL。
为此目的,当我们将连接对象存储在数据库中时,以及连接对象,我们还可以存储一些附加属性,这些属性指示连接对象所指向的数据库名称。属性的表示为databaseName=ORACLE,用于ORACLE数据库连接对象。和databaseName=MYSQL用于MYSQL连接对象。
这就是JNDI目录服务的确切用法。您可以从这里了解更多信息。
在这里,我要感谢Mr.Deepanshu贝迪,他也非常感谢我,我自己得到了这个答案。
发布于 2014-07-27 13:49:51
JNDI是Java命名和目录接口。它用于分离应用程序开发人员和应用程序部署人员的关注点。在编写依赖于数据库的应用程序时,不需要担心连接到该数据库的用户名或密码。JNDI允许开发人员给数据库命名,并依赖部署人员将该名称映射到数据库的实际实例。
例如,如果您正在编写运行在Java容器中的代码,则可以编写此代码以获得具有JNDI名称“Database”的数据源:
DataSource dataSource = null;
try
{
Context context = new InitialContext();
dataSource = (DataSource) context.lookup("Database");
}
catch (NamingException e)
{
// Couldn't find the data source: give up
}注意,这里没有关于数据库驱动程序、用户名或密码的内容。在容器内配置的。
目录服务简介
目录服务提供了一种管理共享信息存储和分发的方法。这些信息可以从公司员工的电子邮件地址和电话号码,到部门打印机的IP地址和打印功能,到一组应用服务器的配置信息。
目录服务管理条目目录。目录条目可以引用个人、位置、服务或几乎任何其他具体对象或抽象概念。条目还具有与其关联的属性;属性由名称或标识符和一个或多个值组成。这些属性描述条目,属性的确切集合取决于条目的类型。例如,个人的条目可能具有以下属性(请注意两个电子邮件地址):
Name: John Doe
Address: 123 Somewhere Street
Email: john@xyz.com
Email: jdoe@abcd.com目录服务是简单的数据库。与它们的关系类似,许多公共目录服务提供搜索和筛选功能。这些目录服务允许您根据一组搜索条件定位条目,而不是仅按名称定位条目。
命名服务和目录服务是逻辑伙伴。事实上,大多数现有产品都提供这两套功能。命名服务提供名称到对象的映射,目录服务提供有关对象和用于搜索对象的工具的信息。
关于因特网上JNDI目录服务的最佳解释
https://stackoverflow.com/questions/24981139
复制相似问题