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

후행 처리 인스턴스를 위한 WebApplication의 위치는 $BXM_HOME/deferred/deferredServiceEndpoint01 이다.

아래의 내용대로 적용하여 WAS에 후행 처리 인스턴스 설정을 완료한다.

  • tomcat9_deferred01/webapps 위치에서 $BXM_HOME/deferred/deferredServiceEndpoint01를 심볼릭 링크 설정 한다.

후행 처리 인스턴스 환경파일 리스트
파일명 파일위치 비고

web.xml

$BXM_HOME/deferred/deferredServiceEndpoint01/WEB-INF/

web context 설정파일

bxm-management-instance.xml

$BXM_HOME/deferred/deferredServiceEndpoint01/WEB-INF/classes

후행 처리 인스턴스 설정파일

logback.xml

logback 설정파일 (BXM 사용)

commons-logging.properties

commons logging 설정파일 (Spring 사용)

  1. web context 설정파일을 수정한다.

    • $BXM_HOME/deferred/deferredServiceEndpoint01/WEB-INF/ 디렉터리로 이동한다

    • web.xml 설정 및 확인

      <?xml version="1.0" encoding="UTF-8"?>
      <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee">
        <display-name> deferredServiceEndpoint01 </display-name>
        <context-param>
              <param-name>config-location</param-name>
              <param-value>bxm-management-instance.xml</param-value>
        </context-param>
      
       <listener>
              <listener-class>bxm.deferred.endpoint.http.HttpDeferredEndpointContextListener</listener-class>
        </listener>
      
        <servlet>
          <servlet-name>bxmHttpServiceEndpointMapping</servlet-name>
              <servlet-class>bxm.dft.service.endpoint.http.DefaultHttpServiceEndpointMapping</servlet-class>
              <load-on-startup>1</load-on-startup>
              <init-param>
                      <param-name>fld-encoding</param-name>
                      <param-value>UTF-8</param-value>
              </init-param>
        </servlet>
      
      <servlet-mapping>
          <servlet-name>bxmHttpServiceEndpointMapping</servlet-name>
          <url-pattern>/httpService/*</url-pattern>
        </servlet-mapping>
      
      </web-app>
  2. 후행 처리 설정파일을 수정한다.

    • $BXM_HOME/deferred/deferredServiceEndpoint01/WEB-INF/classes 디렉터리로 이동한다

    • commons-logging.properties 설정 및 확인

      commons-logging을 통해 Spring로그가 대량으로 출력되므로 로그를 출력하지 않도록 설정되어 있다.

      디폴트 값을 그대로 사용한다.

    • logback.xml 설정 및 확인

      <?xml version="1.0" encoding="UTF-8"?>
      <configuration scan="true" scanPeriod="30 seconds">
          <property name="LOGS_ABSOLUTE_PATH" value="{BXM_HOME}/logs" />
      
          <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
              <encoder>
                  <pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}][%-5level][%logger{36}:%line] - %msg%n</pattern>
              </encoder>
          </appender>
      
          <appender name="applogfile" class="ch.qos.logback.core.rolling.RollingFileAppender">
              <file>${LOGS_ABSOLUTE_PATH}/deferred01/app_${bxm.node.name}_${bxm.instance.name}.log</file>
              <encoder>
                  <pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}][%X{guid}][%-5level][%logger{36}:%line] - %msg%n</pattern>
              </encoder>
              <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                  <fileNamePattern>${LOGS_ABSOLUTE_PATH}/deferred01/app_${bxm.node.name}_${bxm.instance.name}.%d{yyyy-MM-dd}.log</fileNamePattern>
                  <maxHistory>30</maxHistory>
                  <totalSizeCap>3GB</totalSizeCap>
              </rollingPolicy>
          </appender>
      
          <appender name="applogdb" class="bxm.dft.logging.logback.DefaultAsyncTableAppender">
              <connectionSource class="ch.qos.logback.core.db.JNDIConnectionSource">
                   <jndiLocation>java:BXMNXA</jndiLocation>
                   <!--jndiLocation>java:/comp/env/BXMNXA</jndiLocation-->
              </connectionSource>
              <bufferSize>5</bufferSize>
              <pattern>[%-5level][%d{yyyy-MM-dd HH:mm:ss.SSS}][%logger{36}:%line] - %msg%n</pattern>
          </appender>
      
          <root level="debug">
              <appender-ref ref="console" />
              <appender-ref ref="applogfile" />
              <appender-ref ref="applogdb" />
          </root>
      </configuration>
      • 로그레벨은 개발에서는 debug 레벨 사용, 운영에서는 info 레벨 사용을 권장한다.

      파일로그 명명규칙은 사이트 명명규칙에 맞게 수정한다.

      • << BXM_HOME >>은 후행 처리를 설치한 경로이다.

    • bxm-management-instance.xml 설정 및 확인

      <?xml version="1.0" encoding="UTF-8"?>
      <bxm-instance xmlns="http://www.bankwareglobal.com/schema/instance"
         xmlns:cn="http://www.bankwareglobal.com/schema/common" name="bxm-instance">
          <description> BXM Deferred Configuration</description>
          <environment>
              <system-properties>
                  beantype.usemetadata=true
                  accrue.data.accesstime=true
                  accrue.beanfactory.accesstime=true
                  deferred.node.no=1
                  deferred.init.wait.time=3000
                  deferred.numbering=true
                  deferred.numbering.time=5000
                  deferred.node.status=true
                  deferred.main.interval=3000
                  deferred.processor.run=true
                  deferred.err.processor.run=true
              </system-properties>
              <!-- 개발 : D, 운영 : O, 테스트 : T -->
              <system-mode>D</system-mode>
              <datasource>
                   <jndi-datasource jndi-name="java:/comp/env/BXMNXA" />
              </datasource>
              <loader mode="hot" autodeploy="true" interval-millis="10000" lazy-init="true"
              deferred-init="true" deferred-init-interval="1000" sessionfactory-lazyinit="true">
                  <application-home><<BXM_HOME>>/apps/deferred</application-home>
              </loader>
          </environment>
          <management>
              <connector serviceurl="service:jmx:rmi:///jndi/rmi://localhost:20001/jmxrmi">
                  <environment>
                  </environment>
              </connector>
              <objectname domain="JRF">
                      <properties>
                              Name=bxm-management
                      </properties>
              </objectname>
          </management>
      
          <context forced-timeout="120000">
              <preprocessor classname="bxm.dft.service.processor.DefaultSystemPreProcessor" order="1"/>
              <postprocessor classname="bxm.dft.service.processor.DefaultSystemPostProcessor" order="1"/>
              <control-parameter classname="bxm.dft.context.control.impl.DefaultControlParametersImpl"/>
              <transaction-rollbackfors>
                      bxm.app.ApplicationException
                      bxm.dft.app.DefaultApplicationException
              </transaction-rollbackfors>
              <request header-classname="bxm.dft.context.DefaultSystemHeader" imagelogging="true"
                      request-resolver-classname="bxm.dft.request.DefaultRequestResolver"
                      response-resolver-classname="bxm.dft.request.DefaultResponseResolver"
                      request-trace-classname="bxm.dft.request.DefaultRequestTrace"
                      interceptor-classname="bxm.dft.service.endpoint.DefaultRequestInterceptor"
                      service-executor-interceptor-classname="bxm.dft.service.DefaultServiceExecutorInterceptor"
              />
          </context>
      
          <!-- 개발 (max-resultset 값은 프로젝트 설정에 따라 정의) -->
          <data-access trace-inject="false" monitor-inject="false" identify-inject="true"
                      max-resultset="1000" fetch-size="10"
                      min-fetch-size="10"  limit-exceeded-action="Warning" forced-logging="false">
                  <jndi-datasource-aliases>
                  <!-- name : J2EE Application Service dataSource jndiName for applications -->
                  <!-- alias : jndi-datasource, jndi-xadatasource value
                           in application configuration file( bxm-application.xml) -->
                  <alias name="java:/comp/env/APPNXA" alias="DSNXA"/>
                  <alias name="java:/comp/env/APPXA" alias="DSXA"/>
              </jndi-datasource-aliases>
          </data-access>
      
       <message message-source-classname="bxm.instance.message.DatabaseMessageSource"/>
       <system-message message-source-classname="bxm.instance.message.SystemDatabaseMessageSource" />
      </bxm-instance>
      • NonXA, XA Datasource 는 WAS에 설정된 Datasource JNDI 을 참조하여 설정한다. 본 문서에서는 NonXA데이터소스로 APPNXA, XA데이터소스로 APPXA를 사용한다.

      • << BXM_HOME >>은 후행 처리를 설치한 경로이다.

SWLab Bankware Global
  • 전체
  • BXM
  • BXCM
  • BXCP
  • BXI
제품 선택 시 더 정확한 매뉴얼 가이드를 제공해드립니다.

Copyright© Bankwareglobal All Rights Reserved.