겉바속촉

JNDI 본문

IT 일기 (상반기)/JAVA

JNDI

겉바속촉 2022. 6. 3. 11:21
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