Tomcat配置JNDI

JNDI是什麼?使用JNDI有什麼好處?

JNDI是 Java 命名與目錄接口(Java Naming and Directory Interface),在J2EE規範中是重要的規範之一。java

我我的對jndi的瞭解是:配置數據庫的方式用在了外部配置,通常會是web容器的配置文件裏面,而達到若是數據庫鏈接屬性或數據庫類型不同能夠作到不修改編碼。web

可是我的以爲這是一項落後的技術,畢竟如今用springboot,自己不用咱們去關心太多web容器的問題,並且springboot的基於外部配置文件的自動配置更是簡單、兼容。spring

這裏給出幾篇找的關於JNDI的帖子sql

https://blog.csdn.net/wn084/article/details/80729230數據庫

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

Tomcat配置JNDI方法

一、打開tomcat conf目錄下的context.xml文件springboot

配置ResourceLink標籤,以下:oracle

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

 

二、打開server.xml文件less

在<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"/>

 

三、代碼中配置數據

<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來講不用加前綴

相關文章
相關標籤/搜索