BX Framework(BXM) Center-Cut 처리 서비스 인스턴스 설치
Center-Cut 처리 서비스 인스턴스를 위한 ccServiceEndpoint web application의 위치는 $BXM_HOME/centercut/ccServiceEndpoint02 이다.
-
$BXM_HOME/centercut/ccServiceEndpoint02를 tomcat9/webapps/ 디렉토리로 symbolic link를 생성한다.
-
이후 $BXM_HOME/centercut/ccServiceEndpoint02는 ccServiceEndpoint02로 대체한다.
BX Framework(BXM) Center-Cut 처리 서비스 인스턴스 환경파일 파일명 파일위치 비고 web.xml
ccServiceEndpoint02/WEB-INF/
web context 설정파일
bxm-management-instance.xml
ccServiceEndpoint02/WEB-INF/classes
BXM Framework Center-Cut instance 설정파일
logback.xml
logback 설정파일 (BXM 사용)
commons-logging.properties
commons logging 설정파일 (Spring 사용)
-
web context 설정화일을 수정한다.
-
ccServiceEndpoint02/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>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>
-
-
BX Framework(BXM) 설정화일을 수정한다.
-
ccServiceEndpoint02/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}/centercut02/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}/centercut02/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:/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 레벨 사용, 운영에서는 warn 레벨 사용을 권장한다.
-
<< BXM_HOME >>은 BX Framework(BXM)을 설치한 경로로 수정한다.
applogdb appender는 Database에 로그를 저장하므로 로그량이 적은 개발서버에서만 사용하는 것을 권장한다. 로그량이 많은 경우 Application의 성능저하가 발생하므로 사용에 주의한다.
-
-
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 asyncTaskExecutor.workerpool=100 asyncTaskExecutor.taskqueue=10 <!-- For Main Service Only --> deferred.run=bxm.centercut.dft.deferred.impl.DefaultCcutDeferredRun <!-- For Main Service Only --> </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/online</application-home> </loader> </environment> <management> <connector serviceurl="service:jmx:rmi:///jndi/rmi://localhost:30002/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> <!-- 개발 (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.DatabaseMessageSource" message-classname="bxm.instance.message.SystemDatabaseMessage" /> </bxm-instance>
-
NonXA, XA Datasource 는 WAS에 설정된 Datasource JNDI 을 참조하여 설정한다. 본문서에서는 NonXA데이터소스로 APPNXA, XA데이터소스로 APPXA를 사용한다.
-
<< BXM_HOME >>은 BX Framework(BXM)을 설치한 경로로 수정한다.
-
-
-