BX Framework(BXM) Center-Cut Main Service Instance Installation

The location of the ccServiceEndpoint web application for the Center-Cut main service instance is $BXM_HOME/centercut/ccServiceEndpoint01.

  • Deploy to WAS by creating a symbolic link from $BXM_HOME/centercut/ccServiceEndpoint01 to the tomcat9/webapps/ directory.

  • After that, $BXM_HOME/centercut/ccServiceEndpoin01 is replaced with ccServiceEndpoint01.

    BX Framework(BXM) Center-Cut Main Service Instance Environment File List
    File name File location Remarks

    web.xml

    ccServiceEndpoint01/WEB-INF/

    web context configuration file

    bxm-management-instance.xml

    ccServiceEndpoint01/WEB-INF/classes

    BXM Framework Center-Cut main instance configuration file

    logback.xml

    logback configuration file (used by BXM)

    commons-logging.properties

    commons logging configuration file (used by Spring)

    1. Modify the web context configuration file.

      • Move to the ccServiceEndpoint01/WEB-INF/ directory.

      • Configure and check web.xml.

        Default configuration (no modifications)

        <?xml version="1.0" encoding="UTF-8"?>
        <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee">
          <display-name>ccServiceEndpoint</display-name>
          <context-param>
            <param-name>config-location</param-name>
            <param-value>bxm-management-instance.xml</param-value>
          </context-param>
          <listener>
                <listener-class>bxm.service.endpoint.http.HttpServiceEndpointContextListener</listener-class>
          </listener>
        
          <servlet>
            <servlet-name>bxmCCHttpServiceEndpointMapping</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>bxmCCHttpServiceEndpointMapping</servlet-name>
            <url-pattern>/httpService/*</url-pattern>
          </servlet-mapping>
        
        </web-app>
    2. Modify the BX Framework(BXM) configuration file.

      • Move to the ccServiceEndpoint01/WEB-INF/classes directory.

      • Configure and check commons-logging.properties.

        Since a large amount of Spring logs is printed through commons-logging, it is configured not to output logs.

        Use the default values as they are.

      • Configure and check 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}/centercut01/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}/centercut01/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>
        • For development, use the debug log level; for production, it is recommended to use the warn level.

        • Modify << BXM_HOME >> to the path where BX Framework(BXM) is installed.

        Since the applogdb appender stores logs in the database, it is recommended to use it only on development servers where the log volume is small. If the log volume is large, Application performance degradation may occur, so use it with caution.

      • Configure and check 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 Center-Cut Configuration</description>
            <environment>
                <system-properties>
                    beantype.usemetadata=true
                    accrue.data.accesstime=true
                    accrue.beanfactory.accesstime=true
                    <!-- For Main Service Only -->
                    asyncTaskExecutor.workerpool=100
                    asyncTaskExecutor.taskqueue=10
                    deferred.run=bxm.centercut.dft.deferred.impl.DefaultCcutDeferredRun
                    <!-- For Main Service Only -->
                </system-properties>
                <!-- Development: D, Production: O, Test: 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/online</application-home>
                </loader>
            </environment>
            <management>
                <connector serviceurl="service:jmx:rmi:///jndi/rmi://localhost:30001/jmxrmi">
                    <environment>
                    </environment>
                </connector>
                <objectname domain="JRF">
                        <properties>
                                Name=bxm-management
                        </properties>
                </objectname>
            </management>
        
            <context forced-timeout="3600000">
                <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>
        
            <!-- Development (the max-resultset value is defined according to project settings) -->
            <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.DatabaseMessageSource"
                message-classname="bxm.instance.message.SystemDatabaseMessage"
            />
        
            <deferred-service-executor>
                <deferred-services>
                  <deferred-service
                    application="BxmCCMainMng"
                     bean="BCCAutoStart"
                     max-workerpool-size="10"
                     max-queue-size="10"
                     rake-interval="180000"
                     nodata-wait="false"
                     shutdown-mode="PROCESSING_QUEUED_AND_RUNNING_TASK"/>
                  <deferred-service
                    application="BxmCCMainMng"
                     bean="BCCAutoReRegister"
                     max-workerpool-size="10"
                     max-queue-size="10"
                     rake-interval="120000"
                     nodata-wait="false"
                     shutdown-mode="PROCESSING_QUEUED_AND_RUNNING_TASK"/>
                </deferred-services>
            </deferred-service-executor>
        </bxm-instance>
        • Configure NonXA and XA Datasource by referring to the Datasource JNDI set in WAS. In this document, APPNXA is used as the NonXA datasource and APPXA as the XA datasource.

        • Modify << BXM_HOME >> to the path where BX Framework(BXM) is installed.

      BCCAutoStart of deferred-service is the configuration for automatic execution, and the repeat cycle is adjusted with rake-interval. (unit: ms)

      BCCAutoReRegister of deferred-service is the configuration for automatic error re-registration, and the repeat cycle is adjusted with rake-interval. (unit: ms)

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

Copyright© Bankwareglobal All Rights Reserved.