Tomcat 사용 중 하나:JNDI 데이터 원본 설정
$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 서버 에서 이 파일 을 정기 적 으로 검색 합 니 다.파일 이 수정 되 었 다 는 것 을 발견 하면 서버 를 다시 시작 하지 않 고 자동 으로 이 파일 을 다시 불 러 옵 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
EC2 인스턴스에 Tomcat 설치전제 조건: Amazon 계정이 있어야 합니다. Amazon 계정에 로그인하고 EC2 인스턴스를 시작합니다. 여기에서 프리 티어를 선택했고 Amazon Linux 2를 실행하는 EC2 인스턴스를 시작했습니다. 시작 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.