온라인용 WAS 설치
-
Tomcat 의 설치위치는 $BXM_HOME과 같은 레벨의 디렉토리로 tomcat9_online을 사용한다.
예) $BXM_HOME이 /home/bxmv5/bxm인 경우 /home/bxmv5/tomcat9_online에 설치
-
classpath 설정
-
tomcat9_online/conf/catalina.properties 를 연다.
-
common.loader항목을 찾아 다음과 같이 BXM 라이브러리에 대한 classpath를 추가한다. 이 때 BXM HOME은 BXM 을 설치한 경로로 수정한다.
... common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar,<<BXM_HOME>>/lib/bxm/*.jar, <<BXM_HOME>>/lib/deps/*.jar,<<BXM_HOME>>/lib/ext/*.jar,<<BXM_HOME>>/lib/jta/*.jar ...
-
-
Datasource 설정
-
tomcat9_online/conf/server.xml 를 연다.
-
다음 예시와 같이 아래 Datasource 세 개를 추가한다. 이 때 ip, port, 계정명 등 <<…>>으로 둘러싸인 부분과 Pool의 설정값(maxActive, minIdle등)은 사용자환경에 맞는 적절한 값으로 수정한다.
BXMNXA: BXM Framework 사용 NonXA Datasource 이름
APPNXA: Application 사용 NonXA Datasource 이름
APPXA: Application 사용 XA Datasource 이름
... <GlobalNamingResources> <Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml" /> <Resource type="javax.sql.DataSource" name="BXMNXA" auth="Container" maxActive="20" minIdle="1" maxIdle="1" maxWait="10000" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" driverClassName="oracle.jdbc.OracleDriver" url="<<DB JDBC URL>>" username="bxmv5" password="<<DB PASSWORD>>" /> <Resource type="javax.sql.DataSource" name="APPNXA" auth="Container" maxActive="20" minIdle="1" maxIdle="1" maxWait="10000" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" driverClassName="oracle.jdbc.OracleDriver" url="<<DB JDBC URL>>" username="bxmv5" password="<<DB PASSWORD>>" /> <Resource type="com.atomikos.jdbc.AtomikosDataSourceBean" name="APPXA" auth="Container" factory="com.atomikos.tomcat.EnhancedTomcatAtomikosBeanFactory" uniqueResourceName="APPXA" maxPoolSize="20" minPoolSize="1" xaDataSourceClassName="oracle.jdbc.xa.client.OracleXADataSource" xaProperties.databaseName="<<DB SID>>" xaProperties.serverName="<<DB SERVER IP>>" xaProperties.portNumber="<<DB PORT>>" xaProperties.user="bxmv5" xaProperties.password="<<DB PASSWORD>>" xaProperties.URL="<<DB JDBC URL>>" /> </GlobalNamingResources> ...
-
-
Service port 설정
-
tomcat9_online/conf/server.xml을 연다.
-
HTTP Connector 항목을 찾아 포트를 변경한다. 이 때 port에 지정된 값은 본 문서에서 예시한 값이며 사용자환경에 맞는 적절한 값으로 수정가능하다.
... <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> ...
-
AJP Connector는 사용하지 않으므로 포트 충돌 방지를 위해 아래와 같이 AJP Connector 항목을 찾아 주석처리한다.
... <!-- Define an AJP 1.3 Connector on port 8009 --> <!-- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> --> ...
-
Tomcat shutdown 포트가 다른 인스턴스와 충돌하지 않도록 변경한다. 이 때 port에 지정된 값은 본 문서에서 예시한 값이며 사용자 환경에 맞게 수정할 수 있다.
... <Server port="8005" shutdown="SHUTDOWN"> <Listener className="org.apache.catalina.startup.VersionLoggerListener" /> ...
-
-
Context 설정
-
tomcat9_online/conf/context.xml을 연다.
-
Context 항목을 찾아 아래 내용을 추가한다. 이 때 ResourceLink에 지정된 값은 본 문서에서 예시한 값이며 사용자환경에 맞는 적절한 값으로 수정가능하다. 단, Transaction, Resource에 지정된 값은 그대로 사용하며 Transaction Manager(Atomikos)에 익숙한 사용자만 사용자환경에 맞는 적절한 값으로 수정가능하다.
... <Context> <WatchedResource>WEB-INF/web.xml</WatchedResource> <ResourceLink global="BXMNXA" name="BXMNXA" type="javax.sql.DataSource"/> <ResourceLink global="APPNXA" name="APPNXA" type="javax.sql.DataSource"/> <ResourceLink global="APPXA" name="APPXA" type="com.atomikos.jdbc.AtomikosDataSourceBean"/> <Transaction factory="com.atomikos.icatch.jta.UserTransactionFactory" /> <Resource name="TransactionManager" auth="Container" type="com.atomikos.icatch.jta.UserTransactionManager" factory="org.apache.naming.factory.BeanFactory" /> ...
-
-
JVM옵션 설정
-
tomcat9_online/bin/setenv.sh 를 연다.
해당 파일이 없는 경우 새로 생성한다.
-
아래 내용을 추가한다. 이 때 BXM HOME은 BXM이 설치된 디렉토리로 수정한다. 단, bxm.node.name 값은 BXM 이 설치된 host별로 유일한 값이어야 하며 서버간에 중복되어서는 안 된다. 또한 bxm.instance.name 은 Tomcat instance끼리 중복되어서는 안 된다.
if [ "$1" = "start" ] ; then JAVA_OPTS="$JAVA_OPTS -Dbxm.node.name=DFT1 -Dbxm.instance.name=online1 -Dlog.level.layer.file=<<BXM HOME>>/online/serviceEndpoint/WEB-INF/classes/logLayer.properties" JAVA_OPTS="$JAVA_OPTS -Dlogback.configurationFile=<<BXM HOME>>/online/serviceEndpoint/WEB-INF/classes/logback.xml" #Tomcat사용시에만 추가. JAVA_OPTS="$JAVA_OPTS -Dcom.atomikos.icatch.file=<<BXM HOME>>/lib/jta/jta.properties" JAVA_OPTS="$JAVA_OPTS -Xms1024m -Xmx1024m -XX:MaxPermSize=256m" #OJDBC7 AutoCommit Error validate option false JAVA_OPTS="$JAVA_OPTS -Doracle.jdbc.autoCommitSpecCompliant=false" fi
-
-