admin管理员组文章数量:1122996
JNDI?
本来很早之前就要写这个的,但是感觉一直都还是不是太懂,所以耽搁了再耽搁。
之所以之前对jndi不了解,可能是jndi这种方式不常用了吧。因为现在有很多连接池框架,他有默认的连接配置文件,直接会去找对应配置文件的内容。
在spring boot项目中,数据源可以这样配。该图来自我大神纯洁的微笑的博客。
就算不是spring boot项目,java web项目中,数据源的配置,也可以放在.properties配置文件中,然后获取配置的内容。
比如说用DBCP连接池的时候,可以通过.properties文件来配置连接池,然后可以写一个数据库连接类获取配置文件中数据源的配置。
又比如说,在用C3P0连接池的时候,可以通过.xml文件配置数据源。
我前面提的几种配置数据源的方式都用到了框架,那么不用框架,配置数据源有什么方式呢?
详情见:
但是说了这么多,还是没有说到JNDI,所以说JNDI是什么呢?
w3school中这样描述:.html
JNDI提供了一种统一的方式,可以用在网络上查找和访问服务。通过指定一个资源名称,该名称对应于数据库或命名服务中的一个记录,同时返回数据库连接建立所必须的信息。其实说白了JNDI就是提供一种映射。通过资源名映射到实际的配置。
就像这种比喻。
关于JNDI的好处以及具体使用步骤:
所以利用JNDI配置数据库连接池有几种方式呢?
A.在Tomcat的conf/context.xml中配置
B.在Tomcat的conf/server.xml中配置
C.在Tomcat的conf/server.xml中配置虚拟目录时配置
D.在Web项目中的META-INF目录下新建一个文件context.xml,写入配置
那么,回到我最开始追究JNDI的目的?问题的答案是不是出来了呢?
web.xml
META-INF/context.xml
另一个配置文件配置的数据库
所以说web.xml中配置的引用数据源直接找到了meta-inf/context.xml中同名的resource,所以说根本就不关另一个配置文件配置的数据库的事,所以说是我多虑了!!!!!
还是没弄明白JNDIName="java:comp/env/jdbc/als"的配置有何意义。
本文标签: JNDI
版权声明:本文标题:JNDI? 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1687218336a77546.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论