2019. 7. 19. 11:54ㆍ카테고리 없음
-----------------------JDNA (ConnectionPool 상위버전)---------------------
JNDA(Java Naming and Directory Interface)
- JAVA의 이름 서비스다.
- 생성한 객체를 특정이름으로 바인딩(연결, 저장)하고,
지정된 이름으로 바인딩된 객체를 탐색하기 위한 API를 제공하는 것
- JNDI API 사양
- javax.naming.Context 인터페이스에 정의되어 있다.
- 주요 메소드
void bind(String name, Object obj)
- JDNI에 객체를 지정된 이름으로 등록한다.
void rebind(String name, Object obj)
- JNDI에 지정된 이름으로 등록된 객체를 새 객체로 교체한다.
Object lookup(String name)
- JNDI에서 지정된 이름으로 등록된 객체를 조회한다.
void unbind(String name)
- JNDI에서 지정된 이름으로 등록된 객체를 삭제한다.
설정 방법 (Tomcat 경우)
1. Servers의 context.xml에 작성해야 한다.
<Resource name="jdbc/myoracle"
auth = "Container"
type = "javax.sql.DataSource"
driverClass="oracle.jdbc.OracleDriver"
url = "jdbc:oracle:thin:@localhost:1521:xe"
username = "hr"
password = "zxcv1234"
maxTotal = "20"
maxIdle = "10"
maxWaitMillis = "-1" />
2. 적용할 프로젝트의 root-context.xml에 설정을 한다.
<jee:jndi-lookup id="dataSource" jndi-name="jdbc/myoracle"/>
사용 이유
1. 편의성 : Servers의 context.xml에 설정만 해두면 간편이 사용가능하다.
2. 기능성 : 기존의 ConnectionPool 보다 훨씬 좋은 성능을 가지고 있다.