BX Framework(BXM) Center-Cut 메인 서비스 인스턴스 WAS 환경설정
-
BX Framework(BXM) Center-Cut 메인 서비스 인스턴스를 위하여 전용 tomcat을 설치한다
-
tomcat의 설치위치는 $BXM_HOME과 동일한 레벨의 디렉토리로 tomcat9_centercut01이라는 디렉토리를 사용한다.
-
BX Framework(BXM)의 Center-Cut 을 사용하기 위하여 Tomcat에 BXM library에 대한 classpath, Datasource, Service port, Context를 설정한다.
-
BXM 라이브러리에 대한 classpath 설정한다.
-
tomcat9_centercut01/conf 디렉토리로 이동한다.
catalina.properties의 common.loader항목에 BXM 라이브러리에 대한 classpath를 추가한다.
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
BXM_HOME은 BX Framework(BXM)을 설치한 경로로 수정한다.
-
-
BX framework Center-Cut과 Application에서 사용할 Datasource를 설정한다.
-
tomcat9_centercut01/conf 디렉토리로 이동한다.
-
server.xml을 수정하여 datasource설정을 추가한다.
BXM Framework , Application 사용 NonXA , XA (2개) 의 Datasource 필요
BXMNXA : BXM Framework 사용 NonXA Datasource 이름
APPNXA : Application 사용 NonXA Datasource 이름
APPXA : Application 사용 XA Datasource 이름
-
추가한 설정은 아래와 같다.
<GlobalNamingResources> <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="bxm" password="<<bxm 계정 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="bxm" password="<<bxm 계정 password>>" /> <Resource name="APPXA" auth="Container" type="com.atomikos.jdbc.AtomikosDataSourceBean" factory="com.atomikos.tomcat.EnhancedTomcatAtomikosBeanFactory" uniqueResourceName="APPXA" maxPoolSize="20" minPoolSize="1" xaDataSourceClassName="oracle.jdbc.xa.client.OracleXADataSource" xaProperties.databaseName="<<oracle sid>>" xaProperties.serverName="<<db server ip>>" xaProperties.portNumber="<<oracle port>>" xaProperties.user="bxm" xaProperties.password="<<bxm 계정 password>>" xaProperties.URL="<<DB JDBC URL>>" /> </GlobalNamingResources>
<<…>>부분과 Pool의 설정값(maxActive, minIdle등)은 사용자환경에 맞는 적절한 값으로 수정한다.
-
-
cc service endpoint가 사용하는 HTTP service port를 설정한다.
-
tomcat9_centercut01/conf 디렉토리로 이동한다.
server.xml을 수정하여 service port설정을 수정한다.
-
추가한 설정은 아래와 같다.
<Connector port="28080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
port에 지정된 값은 본 문서에서 예시한 값이며 사용자환경에 맞는 적절한 값으로 수정가능하다.
-
-
cc service endpoint web application context환경을 설정한다.
-
tomcat9_centercut01/conf 디렉토리로 이동한다.
context.xml을 수정한다.
-
추가한 설정은 아래와 같다.
<Context reloadable = "false"> <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" /> </Context>
ResourceLink에 지정된 값은 본 문서에서 예시한 값이며 사용자환경에 맞는 적절한 값으로 수정가능하다.
Transaction, Resource에 지정된 값은 그대로 사용하며 Transaction Manager(atomikos)에 익숙한 사용자만 사용자환경에 맞는 적절한 값으로 수정가능하다.
-
-
cc service endpoint tomcat instance의 JVM옵션을 설정한다.
-
tomcat9_centercut01/bin 디렉토리로 이동한다.
setenv.sh을 수정한다.
-
추가한 설정은 아래와 같다.
if [ "$1" = "start" ] ; then JAVA_OPTS="$JAVA_OPTS -Dbxm.node.name=DFT1 -Dbxm.instance.name=centercut01 -Dlog.level.layer.file=<<BXM HOME>>/centercut/ccServiceEndpoint01/WEB-INF/classes/logLayer.properties" JAVA_OPTS="$JAVA_OPTS -Dlogback.configurationFile=<<BXM HOME>>/centercut/ccServiceEndpoint01/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
bxm.node.name 값은 BX Framework이 설치된 host별로 유일한 값으로 부여한다. 서버가 여러대 존재할 때 중복되지 않도록 설정한다.
bxm.instance.name 값은 tomcat instance간 중복되지 않도록 한다.
JVM 메모리설정(Xms, Xmx, MaxPermSize)는 사용자환경에 맞는 적절한 값으로 수정해야한다.
<< BXM_HOME >>은 BX Framework(BXM)이 설치된 디렉토리로 수정한다.
-
-