Tomcat配置JNDI

Posted xhy-shine

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tomcat配置JNDI相关的知识,希望对你有一定的参考价值。

1、JNDI是什么?使用JNDI有什么好处?

JNDI是 Java 命名与目录接口(Java Naming and Directory Interface),在J2EE规范中是重要的规范之一。

我个人对jndi的了解是:配置数据库的方式用在了外部配置,一般会是web容器的配置文件里面,而达到如果数据库连接属性或数据库类型不一样可以做到不修改编码。

但是个人觉得这是一项落后的技术,毕竟现在用springboot,本身不用我们去关心太多web容器的问题,而且springboot的基于外部配置文件的自动配置更是简单、兼容。

这里给出几篇找的关于JNDI的帖子

https://blog.csdn.net/wn084/article/details/80729230

https://blog.csdn.net/blessed_/article/details/72809004

2、Tomcat配置JNDI方法

(1)打开tomcat conf目录下的context.xml文件

配置ResourceLink标签,如下:

 <ResourceLink global="jdbc/HUINONG" name="jdbc/HUINONG" type="javax.sql.DataSource"/>  

 

(2)打开server.xml文件

在<GlobalNamingResources>标签下面添加如下配置:

<Resource auth="Container" driverClassName="oracle.jdbc.driver.OracleDriver" name="jdbc/HUINONG" password="123456" type="javax.sql.DataSource" url="jdbc:oracle:thin:@127.0.0.1:1521:orcl" username="test"/>

 

(3)代码中配置数据

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

 

注意:<ResourceLink>标签的global属性随便起,name属性指向<Resource>标签的name属性,这个name就是jndi数据源的jndiName属性。代码中的配置对Tomcat来说,需要加上前缀java:comp/env/,对于jboss来说不用加前缀

 

以上是关于Tomcat配置JNDI的主要内容,如果未能解决你的问题,请参考以下文章

tomcat 配置JNDI数据源

怎样配置tomcat的jndi数据库连接?

tomcat服务器连接MySQL数据库的JNDI数据源配置以及获得连接的Java代码

hive 使用 jndi 数据源时已经在 Tomcat 中配置好 但是在 java 代码中获取数据源就会报错

Spring Boot - 外部 Tomcat - JNDI 数据源

Tomcat配置JNDI