이클립스의 Tomcat에서 여러 모듈 올리는 방법은 포트 번호를 다르게 해서 올리는 방법(Tomcat을 여러 개 사용)과 Tomcat 1개를 사용하여 여러 모듈을 올리는 방법이 있다.
포트 번호를 다르게 해서 올리는 방법
포트 번호를 다르게 해서 올리는 방법은 2개의 Tomcat을 생성한 다음, 각 Tomcat을 더블 클릭한다.
더블 클릭을 하면 각 Tomcat의 Overview가 나오는데, 여기서 Ports에 Tomcat admin port와 HTTP/1.1 포트를 각각 다르게 설정한다.
필자의 경우에는 1개는 8005/8080 포트로 설정했고, 다른 1개의 Tomcat에는 8006/8090 포트로 설정해서 여러 모듈을 올렸다.
Tomcat 1개를 사용하여 여러 모듈 올리는 방법
Tomcat 1개를 사용하여 여러 모듈 올리는 방법은 위와 다르게, Tomcat 1개를 사용해서 여러 모듈로 접속할 수 있게 해준다. 여기서, 필자의 경우에는 1개의 프로젝트에서 각 포트 번호가 다른 스키마에 접근하여 데이터 ETL을 한다. 그렇기 때문에, 1개의 Tomcat에서 여러 모듈을 돌리는 것이 더 깔끔하고, 테스트를 해야 하기 때문에 이 방법을 채택했다.
설정하는 방법은 아래와 같다.
Tomcat 8.5의 context.xml
아래와 같이, JNDI 설정을 해줬다.
<?xml version="1.0" encoding="UTF-8"?>
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>
<Resource name="jdbc/a" auth="Container" driverClassName="com.tmax.tibero.jdbc.TbDriver"
type="javax.sql.DataSource"
url="jdbc:tibero:thin:ip설정"
username="ID 입력"
password="비밀번호 입력"
validationQuery="select 1 from dual"
/>
<Resource name="jdbc/b" auth="Container" driverClassName="com.tmax.tibero.jdbc.TbDriver"
type="javax.sql.DataSource"
url="jdbc:tibero:thin:ip설정"
username="ID 입력"
password="비밀번호 입력"
validationQuery="select 1 from dual"
/>
<Resource name="jdbc/c" auth="Container" driverClassName="com.tmax.tibero.jdbc.TbDriver"
type="javax.sql.DataSource"
url="jdbc:tibero:thin:ip설정"
username="ID 입력"
password="비밀번호 입력"
validationQuery="select 1 from dual"
/>
<Resource name="jdbc/d" auth="Container" driverClassName="com.tmax.tibero.jdbc.TbDriver"
type="javax.sql.DataSource"
url="jdbc:tibero:thin:ip설정"
username="ID 입력"
password="비밀번호 입력"
validationQuery="select 1 from dual"
/>
</Context>
각 모듈의 web.xml에 아래의 context-param을 설정한다.
만약, a라는 프로젝트라면 webAppRootKey의 param-value는 a.root가 된다.
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>a.root</param-value>
</context-param>
마지막으로, Tomcat의 server.xml에서 <host> 태그 안에 <Context> 태그 내용을 입력한다.
<Context docBase="a" path="/a" reloadable="true" sessionCookieName="common_JSESSIONID" source="org.eclipse.jst.jee.server:a"/>
<Context docBase="b" path="/b" reloadable="true" source="org.eclipse.jst.jee.server:b"/>
'IT > 스프링(Spring)' 카테고리의 다른 글
[스프링/Spring] 스프링 배치(Spring Batch) DB를 통한 플로우 (0) | 2022.03.27 |
---|---|
[스프링/Spring] 스프링 배치(Spring Batch) 적용하는 예제 (0) | 2022.03.27 |
[스프링/Spring] 스프링(Spring) DataSource 정리 (0) | 2022.03.27 |
[스프링(Spring)] pom.xml의 구조 (0) | 2022.03.13 |
org.apache.ibatis.exceptions.PersistenceException: ### Error updating database. 에러 해결 방법 (0) | 2022.03.07 |
스프링 프레임워크(Spring Framework) web.xml이란? (0) | 2022.02.05 |
스프링 프레임워크(Spring Framework) context:component-scan 사용법 (0) | 2022.02.03 |
스프링(Spring) 프레임워크 Controller란? (1) | 2022.01.28 |
최근댓글