粗浅看 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线程池核心参数原理及使用指南

《Java线程池核心参数原理及使用指南》本文详细介绍了Java线程池的基本概念、核心类、核心参数、工作原理、常见类型以及最佳实践,通过理解每个参数的含义和工作原理,可以更好地配置线程池,提高系统性能,... 目录一、线程池概述1.1 什么是线程池1.2 线程池的优势二、线程池核心类三、ThreadPoolE

Spring Boot Interceptor的原理、配置、顺序控制及与Filter的关键区别对比分析

《SpringBootInterceptor的原理、配置、顺序控制及与Filter的关键区别对比分析》本文主要介绍了SpringBoot中的拦截器(Interceptor)及其与过滤器(Filt... 目录前言一、核心功能二、拦截器的实现2.1 定义自定义拦截器2.2 注册拦截器三、多拦截器的执行顺序四、过

Java 队列Queue从原理到实战指南

《Java队列Queue从原理到实战指南》本文介绍了Java中队列(Queue)的底层实现、常见方法及其区别,通过LinkedList和ArrayDeque的实现,以及循环队列的概念,展示了如何高效... 目录一、队列的认识队列的底层与集合框架常见的队列方法插入元素方法对比(add和offer)移除元素方法

SQL 注入攻击(SQL Injection)原理、利用方式与防御策略深度解析

《SQL注入攻击(SQLInjection)原理、利用方式与防御策略深度解析》本文将从SQL注入的基本原理、攻击方式、常见利用手法,到企业级防御方案进行全面讲解,以帮助开发者和安全人员更系统地理解... 目录一、前言二、SQL 注入攻击的基本概念三、SQL 注入常见类型分析1. 基于错误回显的注入(Erro

Spring IOC核心原理详解与运用实战教程

《SpringIOC核心原理详解与运用实战教程》本文详细解析了SpringIOC容器的核心原理,包括BeanFactory体系、依赖注入机制、循环依赖解决和三级缓存机制,同时,介绍了SpringBo... 目录1. Spring IOC核心原理深度解析1.1 BeanFactory体系与内部结构1.1.1

MySQL 批量插入的原理和实战方法(快速提升大数据导入效率)

《MySQL批量插入的原理和实战方法(快速提升大数据导入效率)》在日常开发中,我们经常需要将大量数据批量插入到MySQL数据库中,本文将介绍批量插入的原理、实现方法,并结合Python和PyMySQ... 目录一、批量插入的优势二、mysql 表的创建示例三、python 实现批量插入1. 安装 PyMyS

深入理解Redis线程模型的原理及使用

《深入理解Redis线程模型的原理及使用》Redis的线程模型整体还是多线程的,只是后台执行指令的核心线程是单线程的,整个线程模型可以理解为还是以单线程为主,基于这种单线程为主的线程模型,不同客户端的... 目录1 Redis是单线程www.chinasem.cn还是多线程2 Redis如何保证指令原子性2.

Java中流式并行操作parallelStream的原理和使用方法

《Java中流式并行操作parallelStream的原理和使用方法》本文详细介绍了Java中的并行流(parallelStream)的原理、正确使用方法以及在实际业务中的应用案例,并指出在使用并行流... 目录Java中流式并行操作parallelStream0. 问题的产生1. 什么是parallelS

Java中Redisson 的原理深度解析

《Java中Redisson的原理深度解析》Redisson是一个高性能的Redis客户端,它通过将Redis数据结构映射为Java对象和分布式对象,实现了在Java应用中方便地使用Redis,本文... 目录前言一、核心设计理念二、核心架构与通信层1. 基于 Netty 的异步非阻塞通信2. 编解码器三、

Java HashMap的底层实现原理深度解析

《JavaHashMap的底层实现原理深度解析》HashMap基于数组+链表+红黑树结构,通过哈希算法和扩容机制优化性能,负载因子与树化阈值平衡效率,是Java开发必备的高效数据结构,本文给大家介绍... 目录一、概述:HashMap的宏观结构二、核心数据结构解析1. 数组(桶数组)2. 链表节点(Node