粗浅看 JNDI原理

2024-08-26 20:18
文章标签 原理 jndi 粗浅

本文主要是介绍粗浅看 JNDI原理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

介绍

JNDI Java 命名和目录接口Java Naming and Directory InterfaceJNDI) 的简称。从一开始就一直是 Java 2 平台企业版的核心技术之一。在 JMSJMail,JDBC,EJB 等技术中,就大量应用的这种技术。JNDI 可访问的现有的目录及服务有:DNSXNam Novell目录服务、LDAP(Lightweight Directory Access Protocol 轻型目录访问协议)CORBA对象服务、文件系统、WindowsXP/2000/NT/Me/9x的注册表、RMIDSML v1&v2NIS

JNDI诞生的理由似乎很简单。随着分布式应用的发展,远程访问对象访问成为常用的方法。虽然说通过 Socket等编程手段仍然可实现远程通信,但按照模式的理论来说,仍是有其局限性的。RMI技术,RMI-IIOP 技术的产生,使远程 对象的查找成为了技术焦点。JNDI 技术就应运而生。JNDI 技术产生后,就可方便的查找远程或是本地对象。

架构

 

JNDI的架构与 JDBC的架构非常类似.JNDI 架构提供了一组标准命名系统的API,这些API JDK1.3 之前是作为一个单独的扩展包。jndi.jar(通过这个地址下 载),这个基础 API构建在与SPI 之上。这个 API提供如下五个包

javax.naming

javax.naming.directory

javax.naming.event

javax.naming.ldap

javax.naming.spi

在应用程序中,我们实际上只使到用以上几个包的中类.具体调用类及通信过程对用户来说是透明的.JNDI API 提供了访问不同 JNDI服务的一个标准的统一 的实现,其具体实现可由不同的 ServiceProvider来完成。前面讲的为第一层 JNDI API .最下层为 JNDI SPI API 及其具体实现。它包括了几个增强和下面的命名/目录服务提供者:

LDAP(Lightweight DirectoryAccess Protocol)服务提供者;

CORBACOSCommon ObjectRequest Broker Architecture Common Object Services)命名服务提供者;

RMI(Java Remote MethodInvocation)注册服务提供者 DNS(Domain NameSystem)服务提供者;

FSSP(File System Service Provider)文件系统服务提供者。

典型运用

数据源tomcat 中配置一个数据源,程序就可以通过 java.sql 接口去访问数据库,不管底层的数据库是什么类型。

业务思想

关于JNDI自己也是初步的理解,其目的也是方便的查找远程或是本地对象。自己在学习过程中一开始也是一头雾水,梳理一下思路分享在本博文中。如果大家有什么好的理解,请一定要交流一下。


这篇关于粗浅看 JNDI原理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1109574

相关文章

从原理到实战深入理解Java 断言assert

《从原理到实战深入理解Java断言assert》本文深入解析Java断言机制,涵盖语法、工作原理、启用方式及与异常的区别,推荐用于开发阶段的条件检查与状态验证,并强调生产环境应使用参数验证工具类替代... 目录深入理解 Java 断言(assert):从原理到实战引言:为什么需要断言?一、断言基础1.1 语

MySQL中的表连接原理分析

《MySQL中的表连接原理分析》:本文主要介绍MySQL中的表连接原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、环境3、表连接原理【1】驱动表和被驱动表【2】内连接【3】外连接【4编程】嵌套循环连接【5】join buffer4、总结1、背景

深度解析Spring AOP @Aspect 原理、实战与最佳实践教程

《深度解析SpringAOP@Aspect原理、实战与最佳实践教程》文章系统讲解了SpringAOP核心概念、实现方式及原理,涵盖横切关注点分离、代理机制(JDK/CGLIB)、切入点类型、性能... 目录1. @ASPect 核心概念1.1 AOP 编程范式1.2 @Aspect 关键特性2. 完整代码实

Java Stream的distinct去重原理分析

《JavaStream的distinct去重原理分析》Javastream中的distinct方法用于去除流中的重复元素,它返回一个包含过滤后唯一元素的新流,该方法会根据元素的hashcode和eq... 目录一、distinct 的基础用法与核心特性二、distinct 的底层实现原理1. 顺序流中的去重

Spring @Scheduled注解及工作原理

《Spring@Scheduled注解及工作原理》Spring的@Scheduled注解用于标记定时任务,无需额外库,需配置@EnableScheduling,设置fixedRate、fixedDe... 目录1.@Scheduled注解定义2.配置 @Scheduled2.1 开启定时任务支持2.2 创建

Spring Boot 实现 IP 限流的原理、实践与利弊解析

《SpringBoot实现IP限流的原理、实践与利弊解析》在SpringBoot中实现IP限流是一种简单而有效的方式来保障系统的稳定性和可用性,本文给大家介绍SpringBoot实现IP限... 目录一、引言二、IP 限流原理2.1 令牌桶算法2.2 漏桶算法三、使用场景3.1 防止恶意攻击3.2 控制资源

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

Mysql的主从同步/复制的原理分析

《Mysql的主从同步/复制的原理分析》:本文主要介绍Mysql的主从同步/复制的原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录为什么要主从同步?mysql主从同步架构有哪些?Mysql主从复制的原理/整体流程级联复制架构为什么好?Mysql主从复制注意

Nacos注册中心和配置中心的底层原理全面解读

《Nacos注册中心和配置中心的底层原理全面解读》:本文主要介绍Nacos注册中心和配置中心的底层原理的全面解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录临时实例和永久实例为什么 Nacos 要将服务实例分为临时实例和永久实例?1.x 版本和2.x版本的区别

apache的commons-pool2原理与使用实践记录

《apache的commons-pool2原理与使用实践记录》ApacheCommonsPool2是一个高效的对象池化框架,通过复用昂贵资源(如数据库连接、线程、网络连接)优化系统性能,这篇文章主... 目录一、核心原理与组件二、使用步骤详解(以数据库连接池为例)三、高级配置与优化四、典型应用场景五、注意事