반응형

이클립스의 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"/>

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기