Deferred Process Instance WAS Environment Configuration
-
Install a dedicated tomcat for the deferred process instance.
-
For the tomcat installation location, use a directory named tomcat9_deferred01 at the same level as $BXM_HOME. In other words, tomcat9_deferred01 and $BXM_HOME must be at the same level.
You can define the tomcat directory naming rules according to the Client Site characteristics.
For example, if configuring per node, you may use a naming rule such as tomcat9_deferred01, tomcat9_deferred02, tomcat9_deferred03.
-
To use deferred process, configure classpath, Datasource, Service port, and Context for the BXM library in Tomcat.
-
Configure the classpath for the BXM library.
-
Move to the tomcat9_deferred01/conf directory.
Add the BXM library classpath to the common.loader entry in catalina.properties.
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/*.jarBXM_HOME is the path where the deferred process is installed.
-
-
Configure the Datasource to be used in the deferred process.
-
Move to the tomcat9_deferred01/conf directory.
-
Modify server.xml to add the datasource configuration.
BXM Framework and Application require two types of Datasource: NonXA and XA.
BXMNXA: NonXA Datasource name used by BXM Framework
APPNXA: NonXA Datasource name used by Application
APPXA: XA Datasource name used by Application
-
The added configuration is as follows:
<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 account 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 account 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 account password>>" xaProperties.URL="<<DB JDBC URL>>" /> </GlobalNamingResources>Modify the <<…>> parts and the pool configuration values (maxActive, minIdle, etc.) to appropriate values for the user environment.
-
-
Configure the HTTP service port used by deferredServiceEndpoint.
-
Move to the tomcat9_deferred01/conf directory.
Open the server.xml file and modify the service port.
-
The added configuration is as follows:
<Connector port="18080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />The value specified in port is an example in this document, and can be modified to an appropriate value for the user environment.
-
-
Configure the service endpoint web application context environment.
-
Move to the tomcat9_deferred01/conf directory.
Modify context.xml.
-
The added configuration is as follows:
<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>The values specified in ResourceLink are examples in this document and can be modified according to the user environment.
Use the values specified for Transaction and Resource as they are, and only users who are familiar with the Transaction Manager (atomikos) may modify them to appropriate values for the user environment.
-
-
Configure the JVM options for the service endpoint tomcat instance.
-
Move to the tomcat9_deferred01/bin directory.
Modify setenv.sh.
-
The added configuration is as follows:
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" #Add only when using 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
-
-