Tomcat 사용 중 하나:JNDI 데이터 원본 설정

3656 단어 tomcatJNDI
1.전역 데이터 원본 추가
$TOMCATHOME$/conf/server.xml 파일 에 다음 JNDI 데이터 원본 설정 을 추가 합 니 다.
 
<Resource name="jdbc/test"  auth="Container" 
type="javax.sql.DataSource" 
username="test"  
password="test" 
driverClassName="oracle.jdbc.driver.OracleDriver"  
url="jdbc:oracle:thin:@localhost:1521:test"  
maxActive="100"  
maxIdle="30"  
maxWait="10000"/>
 
 
2.응용 프로그램 에 전역 데이터 원본 을 참조 하 는 설정 을 추가 합 니 다.
프로젝트 에/WEB-INF/아래 웹.xml 에 다음 설정 을 추가 합 니 다.
 
<resource-ref> 
    <description>OracleDataSource</description> 
     <res-ref-name>jdbc/test</res-ref-name> 
     <res-type>javax.sql.DataSource</res-type> 
     <res-auth>Container</res-auth> 
</resource-ref>
 
3.JDBC 드라이버 추가
Oracle 드라이버 패키지(ojdbc 14.jar)를$TOMCAT 로 복사 합 니 다.HOME$/디 렉 터 리 에 있 는 lib 에 있 습 니 다.
 
4.응용 프로그램 에서 JNDI 사용(응용 프로그램 에서 Spring 을 사용 하여 Tomcat 의 JNDI 데이터 원본 을 가 져 올 수도 있 음)
 
Context initContext = new InitialContext();   
Context envContext  = (Context)initContext.lookup("java:/comp/env");   
DataSource ds = (DataSource)envContext.lookup("jdbc/test");   
Connection conn = ds.getConnection(); 

 
의문:
1.Tomcat 에서 사용 하 는 기본 데이터 연결 탱크 유형 은 무엇 입 니까?
Tomcat 은 기본적으로 DBCP 연결 풀 을 사용 하지만 Tomcat 이 기본적으로 사용 하 는 DBCP 의 jar 패 키 지 는 tomcat 에 의 해 다시 포장 되 어 정리 되 었 습 니 다.클래스 경 로 는 apache 의 DBCP 패키지 와 다 릅 니 다.tomcat 에 의 해 정 리 된 jar 는$TOMCATHOME$/lib/tomcat-dbcp.jar。
 
Tomcat 이 기본적으로 사용 하 는 것 이 Tomcat 에 의 해 정 리 된 DBCP 라 는 것 을 어떻게 증명 합 니까?
$TOMCAT 열기HOME$/lib/catalina.jar 의 Resource Factory.class 109 줄(다음 코드):
 
else if (ref.getClassName().equals("javax.sql.DataSource")) {
        String javaxSqlDataSourceFactoryClassName = System.getProperty("javax.sql.DataSource.Factory", "org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory");
        try
        {
          factory = (ObjectFactory)Class.forName(javaxSqlDataSourceFactoryClassName).newInstance();
        }

factory 속성 이 설정 되 지 않 았 고 type 속성 은 같 습 니 다. javax.sql.dataSource 시 org.apache.tomcat.dbcp.BasicDataSourceFactory 데이터베이스 연결 탱크 를 사용 합 니 다.
 
2.자신 이 지정 한 연결 탱크 유형 으로 어떻게 바 꿉 니까?
 
DBCP 데이터 원본 과 같은 다른 데이터 원본 을 사용 하려 면 
3.서로 다른 항목 은 데이터 소스 를 사용 하지 않 고 일부 데이터 소스 에 접근 할 수 없다 고 해서 다른 프로젝트 의 응용 이 달 릴 수 없 게 해 서 는 안 됩 니 다.
WebRoot 아래 에 폴 더 META-INF 를 만 들 고 그 안에 파일 context.xml 를 만 들 며 내용 을 추가 합 니 다.설정 에 필요 한 jar 가방 을 WEB-INF 의 lib 에 직접 넣 을 수 있 으 며,Tomcat 의 lib 디 렉 터 리 에 꼭 넣 지 않 아 도 됩 니 다.
하나의 항목 이 몇 개의 war 배치 로 나 뉘 어 있다 면 전체 데이터 원본 설정 을 사용 하 는 것 이 좋 습 니 다.개발 만 한다 면 국부 적 인 방식 을 사용 할 수 있다.
 
4.JNDI 데이터 원본 은 config/server.xml 과 config/context.xml 에 설정 되 어 있 습 니 다.어떤 차이 가 있 습 니까?
tomcat 6 버 전에 서 context 요 소 는 server.xml 파일 에서 독립 되 어 context.xml 파일 에 놓 여 있 습 니 다.server.xml 는 동적 으로 다시 불 러 올 수 없 는 자원 이기 때문에 서버 가 시작 되면 이 파일 을 수정 하려 면 서버 를 다시 불 러 와 야 다시 불 러 올 수 있 습 니 다.context.xml 파일 은 그렇지 않 으 면 tomcat 서버 에서 이 파일 을 정기 적 으로 검색 합 니 다.파일 이 수정 되 었 다 는 것 을 발견 하면 서버 를 다시 시작 하지 않 고 자동 으로 이 파일 을 다시 불 러 옵 니 다.
 

좋은 웹페이지 즐겨찾기