返回顶部
首页 > 资讯 > 精选 >使用JNDI的优点有哪些
  • 444
分享到

使用JNDI的优点有哪些

jndi 2023-05-31 08:05:16 444人浏览 八月长安
摘要

使用JNDI的优点有哪些?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、JNDI是什么?JNDI--Java 命名和目录接口(Java Naming and Director

使用JNDI的优点有哪些?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

一、JNDI是什么?

JNDI--Java 命名和目录接口(Java Naming and Directory Interface),是一组在Java应用中访问命名和目录服务的api
二、JNDI好处

解耦:通过注册、查找JNDI服务,可以直接使用服务,而无需关心服务提供者,这样程序不至于与访问的资源耦合!

JNDI优点 

包含了大量的命名和目录服务,使用通用接口来访问不同种类的服务;   

可以同时连接到多个命名或目录服务上;   

建立起逻辑关联,允许把名称同Java对象或资源关联起来,而不必知道对象或资源的物理ID。   

JNDI程序包:   
javax.naming:命名操作;   
javax.naming.directory:目录操作;   
javax.naming.event:在命名目录服务器中请求事件通知;   
javax.naming.ldap:提供LDAP支持;   
javax.naming.spi:允许动态插入不同实现。   

利用JNDI的命名与服务功能来满足企业级APIs对命名与服务的访问,诸如EJBs、JMS、JDBC 2.0以及IioP上的RMI通过JNDI来使用CORBA的命名服务。

三、JNDI架构与原理

相比较架构与原理,更关注与使用,故略!

四、JNDI使用
在J2EE容器(如WEBlogic、websphere、jboss等)中使用:

在weblogic环境下查找tuxedo 连接     

//在weblogic环境查找tuxedo连接 Context ctx = new InitialContext(); TuxedoConnectionFactory tuxedoFactory = (TuxedoConnectionFactory) ctx.lookup("tuxedo.services.TuxedoConnection");

在web容器查找数据源

Context ctx=new InitialContext(); DataSource ds=(Datasource)ctx.lookup("java:comp/env/jdbc/mydatasource");

重点关注Context ctx = new InitialContext(),上面的代码在容器下能够很好的工作,尤其是查找数据源的代码,无论是在Tomcat,还是在weblogic、jboss,但如果脱离了容器,我们将得到异常“NoInitialContextException”,这是为什么呢?

原因很简单,就是不存在相关的context,其本质是JNDI的服务提供者环境,即谁将提供此环境!

为了能够使上面的代码工作,我们需要使用带参的构造子InitialContext(Hashtable),指定JNDI服务提供者环境信息,以weblogic环境为例:

Hashtable env = new Hashtable(); env.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory"); env.put(Context.PROVIDER_URL,"t3://localhost:7001"); InitialContext ctx = new InitialContext(env);

但上面的代码不适合WebSphere、jboss等环境,原因在于所需环境信息不同,那么,Context ctx = new InitialContext()是如何做到在各个j2ee容器下有效地呢?原因在于这个默认的构造子是从System.properties读取相关的环境信息的,由此不难猜出在各种J2EE容器下,如weblogic、jboss,它们都自己为自己设置了相应的信息!下面是一个关于System.properties设置JNDI服务环境的例子:

System.setProperty(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory"); System.setProperty(Context.PROVIDER_URL, "t3://localhost:7001"); InitialContext ctx = new InitialContext();

五、借助Spring完成JNDI查找

对于手头的weblogic,给出常用的两个查找例子,做个备忘吧!

查找tuxedo connnection:

<bean id="tuxedoConnFactory" class="org.springframework.jndi.JndiObjectFactoryBean">      <property name="jndiName">        <value>tuxedo/services/TuxedoConnection</value>    </property>     <property name="resourceRef">       <value>false</value>    </property>     <property name="jndiEnvironment">      <props>        <!-- The value of ContextPROVIDER_URL -->        <prop key="java.naming.provider.url">t3://localhost:7001</prop>        <prop key="java.naming.factory.initial">weblogic.jndi.WLInitialContextFactory</prop>      </props>     </property>  </bean>

查找DataSource:

<bean id="tuxedoConnFactory" class="org.springframework.jndi.JndiObjectFactoryBean">      <property name="jndiName">        <value>java:comp/env/jdbc/myDatasource</value>    </property>  </bean>

看完上述内容,你们掌握使用JNDI的优点有哪些的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网精选频道,感谢各位的阅读!

--结束END--

本文标题: 使用JNDI的优点有哪些

本文链接: https://lsjlt.com/news/224417.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 使用JNDI的优点有哪些
    使用JNDI的优点有哪些?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、JNDI是什么?JNDI--Java 命名和目录接口(Java Naming and Director...
    99+
    2023-05-31
    jndi
  • 使用Vue.js的优点有哪些
    本篇内容主要讲解“使用Vue.js的优点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“使用Vue.js的优点有哪些”吧!1. 使用Vue插槽使你的代码易于...
    99+
    2024-04-02
  • 使用hbase的优点有哪些
    这篇文章给大家介绍使用hbase的优点有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。hbase是运行在Hadoop上的NoSQL数据库,它是一个分布式的和可扩展的大数据仓库,也就是说HBase能够利用HDFS的分...
    99+
    2023-05-31
    hbase
  • 使用redis有哪些优点
    使用redis有哪些优点?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!什么时候倾向于选择redis?1、复杂数据结构val...
    99+
    2024-04-02
  • 使用Spine.js有哪些优点
    这篇文章主要介绍“使用Spine.js有哪些优点”,在日常操作中,相信很多人在使用Spine.js有哪些优点问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”使用Spine.js...
    99+
    2024-04-02
  • 使用Python有哪些优点
    本篇内容介绍了“使用Python有哪些优点”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 使用pandas整理导出Excel数据给业务部门的...
    99+
    2023-06-02
  • 使用Java的Gradle的优点有哪些
    这篇文章主要讲解了“使用Java的Gradle的优点有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“使用Java的Gradle的优点有哪些”吧!相信使用Java的同学都用过Maven,这...
    99+
    2023-06-16
  • Go语言的使用优点有哪些
    这篇“Go语言的使用优点有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Go语言的使用优点有哪些”文章吧。Map 集合/...
    99+
    2023-06-16
  • 使用Go语言的优点有哪些
    本篇内容介绍了“使用Go语言的优点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Go语言的优势强悍并发性能(Go内置Goroutine...
    99+
    2023-06-15
  • 使用vps代理的优点有哪些
    使用vps代理的优点有:1、能满足用户对外网的访问需求,有利于提高网站流量;2、能扩大用户访问网站的需求,有利于网站发展;3、能大大...
    99+
    2023-02-20
    vps代理 vps
  • 怎么使用Vue 3.0的优点有哪些
    本篇内容介绍了“怎么使用Vue 3.0的优点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!你需要状态...
    99+
    2024-04-02
  • 使用云服务器有哪些优点
    使用云服务器的优点有:1、能快速部署和快速启动业务,实现用户快速检索资源;2、扩展性灵活,能保证网站的正常运行;3、能简化运维流程,降低企业的运维成本;4、具有高可用性和高容灾性,出现单点硬件故障时,可以快速自动迁移到其他云服务器继续正常使...
    99+
    2024-04-02
  • jquery有哪些优点及怎么使用
    这篇“jquery有哪些优点及怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“jquery有哪些优点及怎么使用”文章吧...
    99+
    2023-07-05
  • redis的优点有哪些
    这篇文章将为大家详细讲解有关redis的优点有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。redis是Nosql数据库中使用较为广泛的非关系型内存数据...
    99+
    2024-04-02
  • ClickHouse的优点有哪些
    本篇内容介绍了“ClickHouse的优点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、Clic...
    99+
    2024-04-02
  • HTAP的优点有哪些
    这篇文章主要讲解了“HTAP的优点有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“HTAP的优点有哪些”吧!4 月 25 日,领先的企业级开源分布式数据...
    99+
    2024-04-02
  • VPS的优点有哪些
    VPS的优点有:1、VPS的扩展性强,能够无限创建网站子目录以及升级配置,从而满足网站后期发展的需求;2、VPS用途广,能够直接生成网站程序,速度快、效率高;3、VPS独立性好,具备独立IP资源,有利于网站优化;4、VPS稳定性高,当独享V...
    99+
    2024-04-02
  • jquery的优点有哪些
    这篇文章主要介绍了jquery的优点有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。jquery的优点jQuery 是轻量级的框架,大小...
    99+
    2024-04-02
  • Swagger3的优点有哪些
    这篇文章主要介绍“Swagger3的优点有哪些”,在日常操作中,相信很多人在Swagger3的优点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Swagger3的优点有...
    99+
    2024-04-02
  • TypeScript的优点有哪些
    本篇内容介绍了“TypeScript的优点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Chirag...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作