후행 처리 인스턴스 WAS 환경설정

  • 후행 처리 instance를 위하여 전용 tomcat을 설치한다

  • tomcat 의 설치위치는 $BXM_HOME과 동일한 레벨의 디렉터리로 tomcat9_deferred01 이라는 디렉터리를 사용한다. 즉, tomcat9_deferred01, $BXM_HOME 이 같은 레벨에 있어야 한다.

    tomcat 디렉터리 명명규칙은 사이트 특성에 맞게 하면 된다.

    예를 들면, 노드 별로 설정한다면 tomcat9_deferred01, tomcat9_deferred02, tomcat9_deferred03 와 같은 명명규칙이 있다.

  • 후행 처리를 사용하기 위하여 Tomcat에 BXM library에 대한 classpath, Datasource, Service port, Context를 설정한다.

    1. BXM 라이브러리에 대한 classpath 설정한다.

      • tomcat9_deferred01/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은 후행 처리를 설치한 경로 이다.

    2. 후행 처리에서 사용할 Datasource를 설정한다.

      • tomcat9_deferred01/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등)은 사용자환경에 맞는 적절한 값으로 수정한다.

    3. deferredServiceEndpoint가 사용하는 HTTP service port를 설정한다.

      • tomcat9_deferred01/conf 디렉터리로 이동한다.

        server.xml 파일을 열고 service port 를 수정한다.

      • 추가한 설정은 아래와 같다.

        <Connector port="18080" protocol="HTTP/1.1"
                       connectionTimeout="20000"
                       redirectPort="8443" />

        port에 지정된 값은 본 문서에서 예시한 값이며 사용자환경에 맞는 적절한 값으로 수정 가능하다.

    4. service endpoint web application context환경을 설정한다.

      • tomcat9_deferred01/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)를 익숙한 사용자만 사용자환경에 맞는 적절한 값으로 수정 가능하다.

    5. service endpoint tomcat instance의 JVM옵션을 설정한다.

      • tomcat9_deferred01/bin 디렉터리로 이동한다.

        setenv.sh을 수정한다.

      • 추가한 설정은 아래와 같다.

        if [ "$1" = "start" ] ; then
            JAVA_OPTS="$JAVA_OPTS -Dbxm.node.name=DFT1 -Dbxm.instance.name=deferred01 -Dlog.level.layer.file=<<BXM HOME>>/deferred/deferredServiceEndpoint01/WEB-INF/classes/logLayer.properties"
            JAVA_OPTS="$JAVA_OPTS -Dlogback.configurationFile=<<BXM HOME>>/deferred/deferredServiceEndpoint01/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
SWLab Bankware Global
  • 전체
  • BXM
  • BXCM
  • BXCP
  • BXI
제품 선택 시 더 정확한 매뉴얼 가이드를 제공해드립니다.

Copyright© Bankwareglobal All Rights Reserved.