Backend/기타

JNDI란

Mev01 2022. 9. 26. 22:05

2022.09.26 JNDI 기초

추후 Connection Pool부터 기초 개념 정리 필요

 

 

JNDI(Java Naming Directory Interface)란

  • 디렉터리 서비스에서 제공하는 데이터 및 객체를 발견하고 참고하기 위한 자바 API
  • 연결하고 싶은 데이터베이스의 DB Pool을 미리 Naming 시켜주는 방법
  • 운영, 관리, 최적화 문제 대처에 이점이 있다.
  • DB 커넥션을 WAS단에서 제어하면서 서버에서 하나의 커넥션 풀을 갖는다.

 

 

DBCP(Database Connection Pool)

  • 일정 개수의 Connection을 만들어 Pool에 저장하고 필요에 따라 Connection을 제공하고 보관하는 것
  • 데이터베이스 Connection을 어플리케이션 소스단에서 설정

 

 

WAS에 DataSource 설정하는 것이 좋은 이유

  • 운영을 할 때는 WAS를 운영하는 관리자가 따로 있으므로
  • 하나의 WAS에 여러가지 웹 어플리케이션을 올리므로

 

 

JNDI 설정을 위해 필요한 것

Spring xml 파일

<beans xmlns:jee="http://www.springframework.org/schema/jee" xsi:schemaLocation="
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsd">
    
<jee:jndi-lookup id=""
   jndi-name=""
   expected-type="javax.sql.DataSource" />
   
</beans>

Tomcat Server.xml, Context.xml

(자세한 내용은 References JNDI 설정법 참고)

 

 

References


Connection Pool, JDBC, DBCP, JNDI

WAS에 DataSource 설정 이유, JNDI 설정법

JDBC vs DBCP vs JNDI