Deferred process instance environment configuration
The location of the WebApplication for the deferred process instance is $BXM_HOME/deferred/deferredServiceEndpoint01.
Complete the deferred process instance configuration on WAS by applying the following.
-
From the tomcat9_deferred01/webapps location, set a symbolic link to $BXM_HOME/deferred/deferredServiceEndpoint01.
| File name | File location | Note |
|---|---|---|
web.xml |
$BXM_HOME/deferred/deferredServiceEndpoint01/WEB-INF/ |
Web context configuration file |
bxm-management-instance.xml |
$BXM_HOME/deferred/deferredServiceEndpoint01/WEB-INF/classes |
Deferred process instance configuration file |
logback.xml |
logback configuration file (used by BXM) |
|
commons-logging.properties |
commons logging configuration file (used by Spring) |
+
-
Move to the $BXM_HOME/deferred/deferredServiceEndpoint01/WEB-INF/ directory.
-
Configure and check 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>
+
-
Move to the $BXM_HOME/deferred/deferredServiceEndpoint01/WEB-INF/classes directory.
-
Configure and check commons-logging.properties.
Since a large volume of Spring logs is output through commons-logging, it is configured so that logs are not output.
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}/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>-
For the log level, use the debug level in development, and the info level in operation.
Modify the file log naming convention to match the Client Site naming convention.
-
<< BXM_HOME >> is the path where the deferred process is installed.
-
-
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 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> <!-- Development : D, Operation : 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/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> <!-- 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.SystemDatabaseMessageSource" /> </bxm-instance>-
Configure NonXA and XA DataSources with reference to the DataSource JNDI set in the WAS. In this document, APPNXA is used as the NonXA DataSource and APPXA is used as the XA DataSource.
-
<< BXM_HOME >> is the path where the deferred process is installed.
-