겉바속촉
JNDI 본문
728x90
반응형
JNDI
👉 JNDI = Java Naming and Directory Interface
👉 다른 종류의 이름 지정 및 디렉토리 서비스에 엑세스하는 데 필요한 API
👉 디렉터리 서비스에서 제공하는 데이터 및 객체를 발견하고 참고(lookup)하기 위한 자바 API
(그럼 어플리케이션이 직접 db에 connection을 요청하지 않아도되는 것)
(JNDI lookup을 통해 데이터소스 객체를 획득하고 connection에 요청)
👉 연결하고 싶은 데이터베이스의 DB Pool을 미리 naming 시켜 주는 방법 중 하나
👉 저장해놓은 WAS의 데이터베이스 정보에 JNDI를 설정하여 웹어플리케이션에서 JNDI만 호출하는 것이 가능
👉 WAS단에 데이터베이스 커넥션 객체를 미리 네이밍해두는 방식(그래서 DB커넥션을 WAS단에서 제어)
👉 설정해줘야 할 파일은 web.xml 과 server.xml
web.xml
<resource-ref>
<description>Resource</description>
<res-ref-name>jdbc/EmployeeDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
server.xml
<Resource name="jdbc/EmployeeDB"
auth="Container"
type="javax.sql.DataSource"
username="dbusername"
password="dbpassword"
driverClassName="driverName"
url="jdbc:oracle:thin..."
maxActive="8"
maxIdle="4"/>
DB connection
InitialContext initCtx = new InitialContext();
DataSource ds = (DataSource) initCtx.lookup("java:comp/env");
728x90
반응형
'IT 일기 (상반기) > JAVA' 카테고리의 다른 글
JDBC, DBCP, JNDI 비교 (0) | 2022.06.03 |
---|---|
connection pool, datasource (0) | 2022.06.03 |
프로세스와 스레드의 차이 (0) | 2022.06.02 |
XML 파싱 - 마샬, 언마샬 (0) | 2022.06.02 |
클래스와 객체 - 인스턴스 (0) | 2022.05.27 |