일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- oracle
- Docker
- Eclipse
- Python
- error
- 설정
- 오픈소스
- MSSQL
- Source
- IntelliJ
- MySQL
- maven
- Open Source
- Thymeleaf
- myBatis
- Spring Boot
- PostgreSQL
- Tomcat
- JavaScript
- git
- STS
- 문서
- Exception
- SpringBoot
- ubuntu
- Core Java
- spring
- AJAX
- jpa
- JDBC
- Today
- Total
헤르메스 LIFE
[Tomcat] Tomcat에서의 JNDI JDBC 설정 #1 본문
필수 라이브러리
commons-dbcp.jar commons-collections.jar commons-pool.jar |
방법1.
server.xml 설정
<host ....="">
<context docbase="myspring" path="/myspring" reloadable="true" source="org.eclipse.jst.jee.server:myspring">
<resourceparams name="jdbc/MY_DB">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:oracle:thin:@localhost:1521:ORCL</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
<parameter>
<name>username</name>
<value>SCOTT</value>
</parameter>
<parameter>
<name>password</name>
<value>TIGER</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>100</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>5</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>30000</value>
</parameter>
</resourceparams>
</context>
</host>
방법2.
server.xml 설정
<host ...="">
<context docbase="myspring" path="/myspring" reloadable="true" source="org.eclipse.jst.jee.server:myspring">
<resource description="Spring Project" name="jdbc/MY_DB" auth="Container" type="javax.sql.DataSource"
maxactive="100" maxidle="30" maxwait="10000" username="SCOTT" password="TIGER"
driverclassname="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@localhost:1521:ORCL">
</resource>
</context>
</host>
방법3.
server.xml 설정
<host ....="">
<context docbase="myspring" path="/myspring" reloadable="true" source="org.eclipse.jst.jee.server:myspring">
</context>
</host>
context.xml
<context>
<watchedresource>WEB-INF/web.xml</watchedresource>
<!-- 사실 Resource 구분은 삽입만 하면 되었던겁니다. -->
<resource description="Spring Data Source" name="jdbc/MY_DB" auth="Container" type="javax.sql.DataSource"
maxactive="100" maxidle="30" maxwait="10000" username="SCOTT" password="TIGER"
driverclassname="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@112.216.80.148:1521:ORCL">
</resource>
</context>
공통설정
web.xml 설정
<resource-ref>
<res-ref-name>jdbc/MY_DB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
중복되는 설정의 우선 순위
1. server.xml
2. $CATALINA_HOME/conf/context.xml
3. /META_INFO/context.xml
4. $CATALINA_HOME/conf/[enginename]/hostname/context.xml.default
각 위치의 Context 의 역할
server.xml 의 <Context>
전역적인 Context 설정에 쓰인다. 여기에 정의한 설정은 해당 톰캣에서 구동되는 모든 어플리케이션에 적용된다.
하지만 사용이 권장되지 않는다. 톰캣 4.x 버전까진 여기에 설정을 했으나, 버전 5.x 부터는 별도 context.xml 에 설정할 것을 권고한다.
왜냐하면 server.xml 의 설정 변경을 실제 구동 서버에 적용하기 위해서는 서버를 재시작해야 하는데,
하나의 Context 설정을 수정함으로 필요 이상의 영향도를 가지게 되기 때문이다.
$CATALINA_HOME/conf/context.xml
전역적인 Context 설정에 쓰인다. server.xml 에의 전역적인 설정을 할 수 있다.
서버에서의 Context 설정은 여기에 하자.
$CATALINA_HOME/conf/[enginename]/[hostname]/context.xml.default
특정 호스트의 전역적인 Context 설정에 쓰인다. 호스트 안에서의 디폴트 설정이 필요할 때 쓰인다.
$CATALINA_HOME/conf/[enginename]/[hostname]/ROOT.xml
context.xml.default 와 같은 역할을 한다.
'ROOT.xml' 이라는 고정된 이름은 톰캣에 의해 Context 설정용 파일로서 약속된 이름이다.
$CATALINA_HOME/conf/[enginename]/[hostname]/[contextpath].xml, /META-INF/context.xml
특정 호스트의 특정 컨텍스트패스에 한정되는 Context 설정을 할 수 있다.
<Host> 의 copyXML 설정이 'true' 일 경우, /META-INF/context.xml 파일이 존재하면
톰캣이 이 파일을 자동으로 컨텍스트패스에 맞는 이름으로 변경하여 $CATALINA_HOME/conf/[enginename]/[hostname]/ 에 복사한다.
단, 만약 해당 이름의 파일이 이미 존재할 경우, /META-INF/context.xml 파일은 무시된다.
'Server' 카테고리의 다른 글
[Docker] Docker의 설치 (0) | 2021.02.17 |
---|---|
[Tomcat] java.library.path에서 발견되지 않습니다. (1) | 2021.01.01 |
[Tomcat] Tomcat 7 JDBC Connection Pool (0) | 2012.05.25 |
[JDBC] Tomcat MS-SQL JDBC 설정 (0) | 2012.05.16 |
[JBoss] Deploy 경로 바꾸기 (0) | 2012.05.14 |