jndi : java naming and directory interface
데이터 및 객체를 발견(discovery)하고 참고(lookup)하기 위한 자바 API.
WAS단에 데이터베이스 커넥션 객체를 미리 네이밍 해두는 방식.
jdbc : java database connectivity
표준 sql 인터페이스 api 이며 db 와의 통신에 필요한 API들의 구현체 집합.
jdbc 인터페이스를 구현한 드라이버를 제공.
interface로서 각각의 DB벤더(oracle, postgresql,mysql,maridb,..)
dbcp: Database Connection Pool
어플리케이션을 시작할 때 원하는 만큼 커넥션 객체를 만들어 놓고 pool에 넣어 놓은채 필요할때마다 가져다 쓰고 다시 반납하는 방식.
JNDI와 DBCP의 전체적인 구성
1. 사용자가 요청.
2. 요청은 JNDI에 등록된 데이터베이스를 검색.
3. JNDI를 통해 찾은 객체로부터 dbcp 정의한 커넥션을 사용.
4. 데이터베이스 작업이 끝난 후 획득한 커넥션을 반납.
Datasource WAS별 jndi설정부분
WAS version : Tomcat
dbconn.jsp파일 lookup 설정 부분: java:comp/env/jdbc/JNDI명
server.xml 파일 Resource name 부분 : jdbc/JNDI명
WAS version : Wildfly
dbconn.jsp파일 lookup 설정 부분: java:/JNDI명
standalone.xml 파일 jndi-name 부분: java:/JNDI명
WAS version : jboss-6.0.0.M1
dbconn.jsp파일 lookup 설정 부분:java:JNDI명
ds.xml 파일 jndi-name 부분 : JNDI명