jndi ldap

JNDI代表Java命名和目录接口 。 它是用于提供对目录服务(即,服务映射名称(字符串)与对象,对远程对象或简单数据的引用)访问的API。 这就是所谓的
约束力 。 绑定集称为上下文 。 应用程序使用JNDI接口访问资源。

简而言之,它就像一个带有String键和代表Web资源的Object值的hashmap。 通常,这些资源是根据目录服务中的层次结构组织的。 级别用分隔符定义(例如,对于DNS,“。”,对于LDAP,例如“'”)。 这是一个命名约定 。 每个上下文都有其命名约定。

SPI代表服务提供商接口 。 换句话说,这些是服务的API。 JNDI指定一个SPI来实现目录服务。 存储在目录中的对象可以具有属性(id和value)。 可以对这些属性执行CRUD操作。 如果目录允许,也可以根据对象的属性搜索对象,而不是提供名称。 用户应用程序提供的信息称为搜索过滤器

JNDI解决了哪些问题?

没有JNDI,远程资源的位置或访问信息将必须在应用程序中进行硬编码或在配置中可用。 维护此信息非常繁琐且容易出错。

例如,如果资源已使用其他IP地址重定位在另一台服务器上,则必须使用此新信息来更新使用此资源的所有应用程序。 使用JNDI,这不是必需的。 仅需要更新相应的资源绑定。 应用程序仍然可以使用其名称访问它,并且重定位是透明的。

另一个常见用途是将应用程序从开发环境移至测试环境,最后移至生产环境。 在每个阶段,可能要使用不同的数据库进行开发,测试和生产。 在每种情况下,可以对每个数据库进行不同的绑定。 该应用程序不需要加注。

什么是LDAP?

LDAP代表轻量级目录应用协议。 它通常在JNDI中用作目录服务。 今天,公司将LDAP服务器设置为专用于响应JNDI请求。 通常的用途是维护公司员工的名单,以及他们的电子邮件和访问其他应用程序的凭据。

通过集中这些信息,每个应用程序都不必在自己的数据库中存储员工信息的多个副本,这更易于维护,并且不易出错和出现不一致。

JCA和CCI呢?

JCA代表Java EE连接器体系结构。 它是一种Java技术,通过为应用程序服务器及其应用程序提供连接,从而帮助它们连接到其他信息系统。 JCA为连接器服务定义了自己的SPI。 CCI代表通用客户端接口 。 它被定义为JCA的一部分。 用户应用程序用来访问JCA连接服务的API。

JCA帮助集成单独开发的信息系统。 通常,用户应用程序可以使用JCA来连接到这些数据库(或信息系统),而不是使用JDBC来访问数据库(或多或少等同于硬编码配置)。 JCA实例可以在JDNI目录中注册,也可以由用户应用程序检索。

Web应用程序呢?

通常,Web应用程序在称为应用程序服务器的容器中运行。 Web应用程序可以创建自己的JNDI服务来存储对象,但是它们也可以使用相应的名称从容器本身检索这些对象。 在这种情况下,资源(通常是数据库)是在容器级别配置的。

参考: 什么是JNDI,SPI,CCI,LDAP和JCA? 从我们的JCG合作伙伴 Jerome Versrynge在技术说明博客中获得。

翻译自: https://www.javacodegeeks.com/2013/02/what-is-jndi-spi-cci-ldap-and-jca.html

jndi ldap

jndi ldap_什么是JNDI,SPI,CCI,LDAP和JCA?相关推荐

  1. 什么是JNDI,SPI,CCI,LDAP和JCA?

    JNDI代表Java命名和目录接口 . 它是用于提供对目录服务(即带有对象的服务映射名称(字符串),对远程对象或简单数据的引用)的访问的API. 这就是所谓的 约束力 . 绑定集称为上下文 . 应用程 ...

  2. JNDI学习总结(一)——JNDI数据源的配置(转)

    一.数据源的由来 在Java开发中,使用JDBC操作数据库的四个步骤如下: ①加载数据库驱动程序(Class.forName("数据库驱动类");)    ②连接数据库(Conne ...

  3. jndi weblogic mysql_WebLogic配置JNDI数据源及在项目的使用方法

    一.在WebLogic新建针对Oracle数据库的JNDI数据源 点击左侧[ 域结构]→[base domain] → [服务] → [数据源] 然后点击右侧[ 新建] → [般数据源], 如下图所示 ...

  4. jndi weblogic mysql_Tomcat配置JNDI数据源连接池

    [Tomcat数据源连接池加密] Tomcat 5.0.28 Jndi配置: 1)部署你的应用到Tomcat,并且确保能正常访问. 2)进放admin控制台,如果你无法进入控制台,请参考常用的一些Ja ...

  5. jndi weblogic mysql_WebLogic配置JNDI数据源

    一.什么是jndi数据源 JNDI是Java命名与目录接口(Java Naming and Directory Interface),在J2EE规范中是重要的规范之一. 我们平时开发web程序的时候, ...

  6. java jndi jboss_jboss中的jndi问题__InitialContext_lookup_java_test_NamingContext__169IT.COM

    我从jboss网站下载了jboss3.0的一个文档JBoss.3.0QuickStart.Draft3.pdf以及对应的代码JBoss.3.0TemplateAndExamples.zip,解压后,用 ...

  7. java jndi配置_java(JNDI)

    概念 JNDI(Java Naming and Directory Interface ),类似于在一个中心注册一个东西,以后要用的时候,只需要根据名字去注册中心查找,注册中心返回你要的东西.web程 ...

  8. java调用jndi出错,无法使用Java JNDI上下文查找来访问对象

    我正在运行Tomcat6并希望从我的Servlet访问数据源.但我得到了 javax.naming.OperationNotSupportedException: can''t generate an ...

  9. log4j-2.x 版本jndi漏洞(使用ldap协议) 演示

    核心原理:在打印日志时,遇见${xxx} 会进行解析,并调用 jndi的lookup方法,此方法可以通过ldap服务调用把远程class文件下载到本地并执行其类的构造方法. 具体log4j源码解析,参 ...

最新文章

  1. 40.多进程同步--锁--多把锁
  2. emmc linux.格式化参数,大家都是怎么格式化emmc芯片的?能在ADB SHELL 中操作吗?uboot 就实现了GPT分区和烧录功能...
  3. myeclipse tomcat内存溢出解决方法
  4. 批量调整word表格根据窗口调整内容
  5. 一种伪随机交织器的生成方法
  6. IE Firefox通用DOM
  7. c++嵌入linux指令以查找文件夹
  8. ProcExp和TaskMgr的列对比
  9. linux Shell入门
  10. php字游戏源码,php文字游戏寻仙纪.zip
  11. 计算机软件研发的相关会计分录,研发支出资本化的相关会计分录
  12. bzoj2286: [Sdoi2011消耗战
  13. 2021全国大学生电子设计竞赛C题
  14. MATLAB(1)---将mat文件转换为csv文件
  15. cropperjs裁剪后图片变大的问题
  16. 能自动摊铺施工的公路滑模机多少钱一台
  17. AE制作文字模糊特效
  18. 矩阵的乘法口诀(一)
  19. win8.1 64位专业版,安装内存8G,显示3.25G可用,怎么办?
  20. 李嘉诚的区块链应用投资哲学

热门文章

  1. 分布式作业 Elastic-Job 快速上手指南
  2. 你真的了解Java中的三目运算符吗
  3. MySQL查询出来的不重复
  4. 二分查找(一次查找多个相同的值)
  5. JavaScript(笔记)
  6. SparkContext源码分析
  7. hashmap存多少条数据_干货 | 面试官想问的HashMap,都在这一篇里面了!
  8. http响应消息的响应状态码和意义
  9. java中两个map的融合(两个map有相同字段)
  10. JVM内存结构分析:为什么需要S0和S1?