Application Tier Configuration
Application Tier Configuration
Guides
R24 AMR | Min(s) read Feedback
vi $JBOSS_HOME/bin/domain.conf
JAVA_OPTS="$JAVA_OPTS
JAVA_OPTS= "$JAVA_OPTS -Dfile.encoding=UTF-8"
Configuring domain.xml
Domain Controller
A domain controller is the JBoss EAP server instance that acts as a central management point for a domain. The primary responsibilities of the domain controller are to:
Domain Profiles
The domain.xml file contains profile configurations to be used by the servers in the domain. A profile contains the detailed settings of the available subsystems defined
within the profile. Because domain.xml is a large xml file, this makes the file hard to read. It contains 4 profiles:
vi $JBOSS_HOME/domain/configuration/domain.xml
https://docs.temenos.com/docs/Solutions/Runbooks/R24-S01-Runbook/t_application-tier-configuration2.htm# 1/19
10/7/24, 12:44 AM Application Tier Configuration
<profiles>
<profile name="full-ha"
name="full-ha">>
… …
</profile>
</profiles>
<socket-binding-group name="standard-sockets"
name="standard-sockets" default-interface=
default-interface="public"
"public">
> … </socket-binding-group><socket-binding-group name="ha-sockets
name="ha-sockets
We are using “full-ha-sockets” only, so you are safe to ignore the other 3 socket groups. For simplicity, you can optionally remove the other 3 socket groups.
vi $JBOSS_HOME/domain/configuration/domain.xml
Procedure
1. We will create a new server group "App-Server-Group" which uses “full-ha” profile.
2. Remove the sample server groups in the default domain.xml and replace them with the new server group definition.
vi $JBOSS_HOME/domain/configuration/domain.xml
Old value:
NOTE:
Remove the unused xml block of the server group definition.
<server-groups>
<server-group name="main-server-group"
name="main-server-group" profile="full"
profile="full">>
name="default"
<jvm name= "default">
>
<heap size="1000m"
size="1000m" max-size=
max-size="1000m"
"1000m"/>
/>
<permgen max-size="256m"
max-size="256m"/>
/>
</jvm>
<socket-binding-group ref="full-sockets"
ref="full-sockets"/>
/>
</server-group>
<server-group name="other-server-group"
name="other-server-group" profile=
profile="full-ha"
"full-ha">
>
name="default"
<jvm name= "default">
>
<heap size="1000m"
size="1000m" max-size=
max-size="1000m"
"1000m"/>
/>
https://docs.temenos.com/docs/Solutions/Runbooks/R24-S01-Runbook/t_application-tier-configuration2.htm# 2/19
10/7/24, 12:44 AM Application Tier Configuration
<permgen max-size="256m"
max-size="256m"/>
/>
</jvm>
<socket-binding-group ref="full-ha-sockets"
ref="full-ha-sockets"/>
/>
</server-group>
</server-groups>
New Value:
NOTE:
Customize your JVM heap size and permgen space according to your server capacity.
<server-groups>
<server-group name="App-Server-Group"
name="App-Server-Group" profile=
profile="full-ha"
"full-ha">>
name="App-Server-Group"
<jvm name= "App-Server-Group">
>
size="8092m"
<heap size= "8092m" max-size=
max-size="8092m"
"8092m"/>
/>
<permgen max-size="256m"
max-size="256m"/>
/>
</jvm>
<socket-binding-group ref="full-ha-sockets"
ref="full-ha-sockets"/>
/>
</server-group>
</server-groups>
Configuring Datasource
Under <profile name="full-ha">, search for the “urn:jboss:domain:datasources” string. You need to define 3 Transact datasources in this section.
vi $JBOSS_HOME/domain/configuration/domain.xml
Old value:
NOTE:
Replace all the xml content with the new value.
<subsystem xmlns=
xmlns="urn:jboss:domain:datasources:6.0"
"urn:jboss:domain:datasources:6.0">>
<datasources>
jndi-name="java:jboss/datasources/ExampleDS"
<datasource jndi-name= "java:jboss/datasources/ExampleDS" pool-name="ExampleDS"
pool-name="ExampleDS"
enabled="true"
enabled= "true" use-java-context=
use-java-context="true"
"true">
>
<connection-url>jdbc:
<connection-url>jdbc :h2
h2::mem
mem::test;DB_CLOSE_DELAY=
test;DB_CLOSE_DELAY=-1
-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
;DB_CLOSE_ON_EXIT=FALSE</connection-url>
<driver>h2</driver>
<security>
<user-name>sa</user-name>
<password>sa</password>
</security>
</datasource>
<drivers>
<driver name="h2"
name="h2" module=
module="com.h2database.h2"
"com.h2database.h2">
>
<xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
https://docs.temenos.com/docs/Solutions/Runbooks/R24-S01-Runbook/t_application-tier-configuration2.htm# 3/19
10/7/24, 12:44 AM Application Tier Configuration
</driver>
</drivers>
</datasources>
</subsystem>
New Value:
NOTE:
Replace the connection url, database username and password with your database connection settings.
<subsystem xmlns="urn:jboss:domain:datasources:6.0"
xmlns="urn:jboss:domain:datasources:6.0">>
<datasources>
<datasource jta="true"
jta="true" jndi-name=
jndi-name="java:/jdbc/t24DS"
"java:/jdbc/t24DS" pool-name=
pool-name="t24DS"
"t24DS" enabled=
enabled="true"
"true"
use-java-context="true"
use-java-context= "true" use-ccm=
use-ccm="true"
"true">
>
<connection-url>
jdbc:
jdbc:oracle:
oracle:thin
thin::@<your_DB_IP>
@<your_DB_IP>::1521
1521/<your_DB_service_name>
/<your_DB_service_name>
</connection-url>
<connection-property name=
name="defaultRowPrefetch"
"defaultRowPrefetch"> >
100
</connection-property>
<driver>ora12c</driver>
<pool>
<min-pool-size>5
<min-pool-size> 5</min-pool-size>
<max-pool-size>220
<max-pool-size> 220</max-pool-size>
</max-pool-size>
<flush-strategy>FailingConnectionOnly</flush-strategy>
</pool>
<security>
<user-name>your_DB_user</user-name>
<password>your_DB_password</password>
</security>
<!-- Note:
Note: the following “<timeout>” and “<validation>” tags are for High Availability.The validation is used to detect staled connectio
<timeout>
<idle-timeout-minutes>2
<idle-timeout-minutes> 2</idle-timeout-minutes>
</timeout>
<validation>
<check-valid-connection-sql>
select 1 from dual
</check-valid-connection-sql>
<valid-connection-checker class-
Configuring
name= Global Modules
name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker"
"org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker">
>
</valid-connection-checker>
Under “<profile name="full-ha">” , search for “urn:jboss:domain:ee”
<stale-connection-checker class- . Add TAFJ and Transact libraries as global modules.
<stale-connection-checker class-
name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleStaleConnectionChecker"
name= "org.jboss.jca.adapters.jdbc.extensions.oracle.OracleStaleConnectionChecker">
>
</stale-connection-checker>
<exception-sorter class-
vi $JBOSS_HOME/domain/configuration/domain.xml
name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter"
name= "org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter">
>
</exception-sorter>
<background-validation>true
<background-validation> true</background-validation>
</background-validation>
Old value: <background-validation-millis>2000
<background-validation-millis> 2000</background-validation-millis>
</background-validation-millis>
</validation>
</datasource>
jta="false"
<datasource jta= "false" jndi-name=
jndi-name="java:/jdbc/t24LockingDS"
"java:/jdbc/t24LockingDS" pool-name=
pool-name="t24LockingDS"
"t24LockingDS"
<subsystem
enabled= xmlns="urn:jboss:domain:ee:5.0"
xmlns=
enabled="true"
"true" "urn:jboss:domain:ee:5.0">
use-java-context="true"
use-java-context= >
"true" use-ccm=
use-ccm="true"
"true">>
<spec-descriptor-property-replacement>false
<connection-url> false</spec-descriptor-property-replacement>
<spec-descriptor-property-replacement> </spec-descriptor-property-replacement>
https://docs.temenos.com/docs/Solutions/Runbooks/R24-S01-Runbook/t_application-tier-configuration2.htm# 4/19
10/7/24, 12:44 AM Application Tier Configuration
<jboss-descriptor-property-replacement>true
jdbc:
jdbc:oracle:
oracle:thin:
<jboss-descriptor-property-replacement> true</jboss-descriptor-property-replacement>
thin :@<your_DB_IP>:
</jboss-descriptor-property-replacement>
@<your_DB_IP> :1521/<your_DB_service_name>
1521/<your_DB_service_name>
<annotation-property-replacement>false
<annotation-property-replacement> false</annotation-property-replacement>
</connection-url> </annotation-property-replacement>
</subsystem> <driver>ora12c</driver>
<pool>
<min-pool-size>5
<min-pool-size> 5</min-pool-size>
New value: <max-pool-size>220
<max-pool-size> 220</max-pool-size>
</max-pool-size>
<flush-strategy>FailingConnectionOnly</flush-strategy>
</pool>
<security>
<user-name>your_DB_user</user-name>
<subsystem xmlns="urn:jboss:domain:ee:5.0"
xmlns="urn:jboss:domain:ee:5.0">>
<global-modules> <password>your_DB_password</password>
</security>
<module name="com.temenos.tafj"
name="com.temenos.tafj" slot="main"
slot= "main"/>
/>
name=</datasource>
<module name="com.temenos.t24"
"com.temenos.t24" slot="main"
slot="main"/>
/>
<drivers>
<module name="javax.jms.api"
name="javax.jms.api"/>
/>
<drivername="com.temenos.monitor"
<module name="ora12c"
name=
name= "ora12c" module="com.oracle.ora12c"
module="com.oracle.ora12c">
"com.temenos.monitor" slot="main"
slot= /> >
"main"/>
<xa-datasource-class>oracle.jdbc.OracleDriver</xa-datasource-class>
<module name="com.temenos.validation"
name="com.temenos.validation" slot=
slot="main"
"main"/>
/>
</driver>
</global-modules>
</drivers>
<spec-descriptor-property-replacement>false
<spec-descriptor-property-replacement> false</spec-descriptor-property-replacement>
</spec-descriptor-property-replacement>
</datasources>
<jboss-descriptor-property-replacement>true
<jboss-descriptor-property-replacement> true</jboss-descriptor-property-replacement>
</jboss-descriptor-property-replacement>
</subsystem>
<annotation-property-replacement>false
<annotation-property-replacement> false</annotation-property-replacement>
</annotation-property-replacement>
</subsystem>
vi $JBOSS_HOME/domain/configuration/domain.xml
Old value:
<pools>
<bean-instance-pools>
<strict-max-pool name="slsb-strict-max-pool"
name="slsb-strict-max-pool" max-pool-size="20"
max-pool-size="20" instance-acquisition-timeout="5"
instance-acquisition-timeout="5" instance-acquisition-timeou
<strict-max-pool name="mdb-strict-max-pool"
name="mdb-strict-max-pool" max-pool-size=
max-pool-size="20"
"20" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance-acquisition-timeou
</bean-instance-pools>
</pools>
New value:
<pools>
<bean-instance-pools>
<strict-max-pool name="slsb-strict-max-pool"
name="slsb-strict-max-pool" max-pool-size=
max-pool-size="2000"
"2000" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance-acquisition-timeo
name="mdb-strict-max-pool"
<strict-max-pool name= "mdb-strict-max-pool" max-pool-size=
max-pool-size="2000"
"2000" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance-acquisition-timeou
name="ofs-mdb-strict-max-pool"
<strict-max-pool name= "ofs-mdb-strict-max-pool" max-pool-size=
max-pool-size="20"
"20" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance-acqu
<strict-max-pool name="browser-mdb-strict-max-pool"
name="browser-mdb-strict-max-pool" max-pool-size=
max-pool-size="20"
"20" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance-
<strict-max-pool name="arcmob-mdb-strict-max-pool"
name= "arcmob-mdb-strict-max-pool" max-pool-size=
max-pool-size="20"
"20" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance-a
<strict-max-pool name="tws-mdb-strict-max-pool"
name="tws-mdb-strict-max-pool" max-pool-size="20"
max-pool-size="20" instance-acquisition-timeout="5"
instance-acquisition-timeout="5" instance-acqu
<strict-max-pool name=
name="tcib-mdb-strict-max-pool"
"tcib-mdb-strict-max-pool" max-pool-size=
max-pool-size="20"
"20" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance-acq
<strict-max-pool name="tcibcorp-mdb-strict-max-pool"
name="tcibcorp-mdb-strict-max-pool" max-pool-size=
max-pool-size="20"
"20" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance
https://docs.temenos.com/docs/Solutions/Runbooks/R24-S01-Runbook/t_application-tier-configuration2.htm# 5/19
10/7/24, 12:44 AM Application Tier Configuration
<strict-max-pool name="tcibwealth-mdb-strict-max-pool"
name="tcibwealth-mdb-strict-max-pool" max-pool-size="20"
max-pool-size="20" instance-acquisition-timeout="5"
instance-acquisition-timeout="5" instan
<strict-max-pool name="callat-mdb-strict-max-pool"
name= "callat-mdb-strict-max-pool" max-pool-size=
max-pool-size="20"
"20" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance-a
<strict-max-pool name="aml-mdb-strict-max-pool"
name= "aml-mdb-strict-max-pool" max-pool-size=
max-pool-size="20"
"20" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance-acqu
<strict-max-pool name=
name="tps-mdb-strict-max-pool"
"tps-mdb-strict-max-pool" max-pool-size=
max-pool-size="20"
"20" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance-acqu
<strict-max-pool name="seat-mdb-strict-max-pool"
name="seat-mdb-strict-max-pool" max-pool-size=
max-pool-size="20"
"20" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance-acq
name="phantom-mdb-strict-max-pool"
<strict-max-pool name= "phantom-mdb-strict-max-pool" max-pool-size=
max-pool-size="200"
"200" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance
<strict-max-pool name=
name="swf-mdb-strict-max-pool"
"swf-mdb-strict-max-pool" max-pool-size=
max-pool-size="20"
"20" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance-acqu
<strict-max-pool name="aaint-mdb-strict-max-pool"
name="aaint-mdb-strict-max-pool" max-pool-size=
max-pool-size="20"
"20" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance-ac
name="aaext-mdb-strict-max-pool"
<strict-max-pool name= "aaext-mdb-strict-max-pool" max-pool-size=
max-pool-size="20"
"20" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance-ac
name="inst-mdb-strict-max-pool"
<strict-max-pool name= "inst-mdb-strict-max-pool" max-pool-size=
max-pool-size="20"
"20" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance-acq
<strict-max-pool name=
name="management-mdb-strict-max-pool"
"management-mdb-strict-max-pool" max-pool-size=
max-pool-size="1"
"1" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instanc
<strict-max-pool name="irisint-mdb-strict-max-pool"
name="irisint-mdb-strict-max-pool" max-pool-size=
max-pool-size="20"
"20" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance-
<strict-max-pool name="irisext-mdb-strict-max-pool"
name="irisext-mdb-strict-max-pool" max-pool-size="20"
max-pool-size="20" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance-
name="dsfpackage-mdb-strict-max-pool"
<strict-max-pool name= "dsfpackage-mdb-strict-max-pool" max-pool-size=
max-pool-size="10"
"10" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instan
<strict-max-pool name="irismetadata-mdb-strict-max-pool"
name="irismetadata-mdb-strict-max-pool" max-pool-size="20"
max-pool-size="20" instance-acquisition-timeout="5"
instance-acquisition-timeout="5" inst
<strict-max-pool name="dd-mdb-strict-max-pool"
name="dd-mdb-strict-max-pool" max-pool-size="10"
max-pool-size="10" instance-acquisition-timeout="5"
instance-acquisition-timeout="5" instance-acqui
name="ms-mdb-strict-max-pool"
<strict-max-pool name= "ms-mdb-strict-max-pool" max-pool-size=
max-pool-size="10"
"10" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance-acqui
<strict-max-pool name="rf-mdb-strict-max-pool"
name="rf-mdb-strict-max-pool" max-pool-size="10"
max-pool-size="10" instance-acquisition-timeout="5"
instance-acquisition-timeout="5" instance-acqui
<strict-max-pool name="tph-mdb-strict-max-pool"
name="tph-mdb-strict-max-pool" max-pool-size="10"
max-pool-size="10" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance-acqu
Configuring MDB Default Resource
<strict-max-pool Adapter
name="cmbinterface-mdb-strict-max-pool"
name="cmbinterface-mdb-strict-max-pool" max-pool-size="10"
max-pool-size= "10" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" inst
name="tpsstandalone-mdb-strict-max-pool"
<strict-max-pool name= "tpsstandalone-mdb-strict-max-pool" max-pool-size=
max-pool-size="10"
"10" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" ins
The default message bean resource adapter is activemq-ra.rar adapter. Change the adapter to WebSphere MQ.
name="tpsnonsla-mdb-strict-max-pool"
<strict-max-pool name= "tpsnonsla-mdb-strict-max-pool" max-pool-size=
max-pool-size="10"
"10" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance-acquisit
<strict-max-pool name="xmlofs-mdb-strict-max-pool"
name="xmlofs-mdb-strict-max-pool" max-pool-size=
max-pool-size="10"
"10" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance-acquisitio
</bean-instance-pools>
</pools>
vi $JBOSS_HOME/domain/configuration/domain.xml
Old value:
<mdb>
<resource-adapter-ref resource-adapter-name="${ejb.resource-adapter-name:activemq-ra.rar}"
resource-adapter-name="${ejb.resource-adapter-name:activemq-ra.rar}"/>
/>
<bean-instance-pool-ref pool-name="mdb-strict-max-pool"
pool-name="mdb-strict-max-pool"/>
/>
</mdb>
New value:
<mdb>
<resource-adapter-ref resource-adapter-name="wmq.jmsra.rar"
resource-adapter-name="wmq.jmsra.rar"/>
/>
<bean-instance-pool-ref pool-name="mdb-strict-max-pool"
pool-name="mdb-strict-max-pool"/>
/>
</mdb>
TIP:
Repeat the following steps/configuration on each server in the application layer.
https://docs.temenos.com/docs/Solutions/Runbooks/R24-S01-Runbook/t_application-tier-configuration2.htm# 6/19
10/7/24, 12:44 AM Application Tier Configuration
mkdir -p $TEMENOS_HOME/TAFJ
mkdir -p $TEMENOS_HOME/T24
1. Add $TAFJ_HOME and $T24_HOME to the application server. Log in as temenos, open the file .bash_profile in your text editor.
vi .bash_profile
##############################################
# Temenos Home
#
export TEMENOS_HOME=/Temenos
"TEMENOS_HOME="$TEMENOS_HOME
echo "TEMENOS_HOME=" $TEMENOS_HOME
##############################################
# JAVA Home
export JAVA_HOME=/usr/lib/jvm/java-11
JAVA_HOME=/usr/lib/jvm/java-11-openjdk
-openjdk-11.0
-11.0..23.0
23.0..9-3
-3.el8.x86_64
.el8.x86_64
"JAVA_HOME="$JAVA_HOME
echo "JAVA_HOME=" $JAVA_HOME
export PATH=$JAVA_HOME/bin:
PATH=$JAVA_HOME/bin:$PATH
java -version
##############################################
# TAFJ Home
export TAFJ_HOME=$TEMENOS_HOME/TAFJ
"TAFJ_HOME="$TAFJ_HOME
echo "TAFJ_HOME=" $TAFJ_HOME
export PATH=$TAFJ_HOME/bin:
PATH=$TAFJ_HOME/bin:$PATH
##############################################
# T24 Home
export T24_HOME=$TEMENOS_HOME/T24
"T24_HOME="$T24_HOME
echo "T24_HOME=" $T24_HOME
################################################
2. Close your session and log in again with temenos user. Verify the new environment variables.
echo $TAFJ_HOME
echo $T24_HOME
Installing TAFJ
Procedure
mkdir -p $TEMENOS_HOME/Install/tafjinst
https://docs.temenos.com/docs/Solutions/Runbooks/R24-S01-Runbook/t_application-tier-configuration2.htm# 7/19
10/7/24, 12:44 AM Application Tier Configuration
$TAFJ_HOME/bin/*
chmod 755 $TAFJ_HOME/bin /*
<dependencies><dependency org="Temenos"
org="Temenos" branch=
branch="DEV_202401"
"DEV_202401" name=
name="FJ_TAFJBootstrap"
"FJ_TAFJBootstrap" rev=
rev="0"
"0" /><dependency org="Temenos"
org="Temenos" branch=
branch="D
"D
Installing Transact
Procedure
Configure tafj.properties
Update Transact libraries
Update UD directory
Define Database Connection Settings
Configure JDBC Drivers
Sanity check Transact
Configuring tafj.properties
Specify values for properties in the tafj.properties file, which is stored in $TAFJ_HOME/conf.
vi $TAFJ_HOME/conf/tafj.properties
https://docs.temenos.com/docs/Solutions/Runbooks/R24-S01-Runbook/t_application-tier-configuration2.htm# 8/19
10/7/24, 12:44 AM Application Tier Configuration
Update the temn.tafj.directory.precompile parameter where you store all Transact libraries
Example:
UD directory
Update the temn.tafj.runtime.directory.current parameter to what will be considered the 'current' directory.
Example:
# Specify what will be considered as the "current" directory (eg in an OPEN "." ...)temn.tafj.runtime.directory.current = /Temenos/T24/bn
temn.tafj.jdbc.url - Specify the URL to connect to your RDMS. You can ask your database administrator about this URL.
temn.tafj.jdbc.driver - Specify the driver to connect to your RDMS. You can ask your database adminsitrator about the driver to use.
temn.tafj.jdbc.username and temn.tafj.jdbc.password - Specify the user name and password to connect to the database. Ask your database
administrator for the credentials.
Example:
temn.tafj.jdbc.url = jdbc:
jdbc:oracle:
oracle:thin:
thin:@ip_address:
@ip_address:1521/your_DB_service_nametemn.tafj.jdbc.driver
1521/your_DB_service_nametemn.tafj.jdbc.driver = oracle.jdbc.driver.OracleDrivertemn.ta
Download and copy the latest JDBC drivers into the $TAFJ_HOME/ext directory. This directory is automatically added to the TAFJ classpath.
JDBC drivers are provided in the $TAFJ_HOME/dbdrivers directory. The jars under dbdrivers folder can be used as reference. Ideally, the JDBC drivers should match
the database version.
Procedure
ORACLE_HOME}
${ORACLE_HOME }/jdbc/lib/ojdbc8.jar$
/jdbc/lib/ojdbc8.jar${{ORACLE_HOME
ORACLE_HOME}}/rdbms/jlib/xdb6.jar$
/rdbms/jlib/xdb6.jar${{ORACLE_HOME
ORACLE_HOME}}/lib/xmlparserv2_sans_jaxp_services.jar$
/lib/xmlparserv2_sans_jaxp_services.jar${{ORACLE_HOM
https://docs.temenos.com/docs/Solutions/Runbooks/R24-S01-Runbook/t_application-tier-configuration2.htm# 9/19
10/7/24, 12:44 AM Application Tier Configuration
Procedure
3. Log into the application using a valid Transact(T24) username and password.
4. Check the SPF S SYSTEM to confirm the Transact(T24) version.
NOTE:
You should be able to connect to Transact from all the servers in the Application layer.
Procedure
cd $JBOSS_HOME/modulesmkdir -p com/oracle/ora12c/main
b. Copy the file module.xml and the corresponding drivers to directory main.
https://docs.temenos.com/docs/Solutions/Runbooks/R24-S01-Runbook/t_application-tier-configuration2.htm# 10/19
10/7/24, 12:44 AM Application Tier Configuration
cd $JBOSS_HOME/modulesmkdir -p com/temenos/tafj/main
e. Edit the file module.xml to add the database dependency. Add “/RulesEngine/RulesEngine.jar” to <resources> section.
vi $JBOSS_HOME/modules/com/temenos/tafj/main/module.xml
Old Value:
<resource-root path="/ext/TAFJBASIC.jar"
path="/ext/TAFJBASIC.jar"/><resource-root
/><resource-root path="/ext/tComponentFramework.jar"
path="/ext/tComponentFramework.jar"/></resources>
/></resources>
New Value:
<resource-root path="/ext/TAFJBASIC.jar"
path="/ext/TAFJBASIC.jar"/><resource-root
/><resource-root path="/ext/tComponentFramework.jar"
path="/ext/tComponentFramework.jar"/><resource-root
/><resource-root path="/RulesEngine/R
path="/RulesEngine/R
f. Edit the module.xml to add the database dependency, add “com.oracle.ora12c” module as dependency.
vi $JBOSS_HOME/modules/com/temenos/tafj/main/module.xml
Old Value:
<dependencies><module name="com.temenos.t24"
name="com.temenos.t24"/><!--<module
/><!--<module name="com.ibm.db2v10"
name="com.ibm.db2v10"/><module
/><module name="com.microsoft.sqlserver"
name="com.microsoft.sqlserver"/>-->
/>-->
https://docs.temenos.com/docs/Solutions/Runbooks/R24-S01-Runbook/t_application-tier-configuration2.htm# 11/19
10/7/24, 12:44 AM Application Tier Configuration
New Value:
<dependencies><module name="com.temenos.t24"
name="com.temenos.t24"/><module
/><module name="com.oracle.ora12c"
name="com.oracle.ora12c"/><!--<module
/><!--<module name="com.oracle.ora11g"
name="com.oracle.ora11g"/><module
/><module nam
cd $JBOSS_HOME/modulesmkdir -p com/temenos/t24/main
c. Generate a module descriptor file. As the generation of module.xml in Transact is long, you can use a TAFJ tool to generate the file quickly. Run module generator
from $TAFJ_HOME/bin.
d. The Command Syntax is
Where,
module_name is the name of the JBoss module;
path_to_jars is the list of directories to be parsed (Use operating system path separator between folders);
dest is the directory (or path to the directory) where you want the file module.xmlto be generated;
root_prefix is the name of the link if module.xml is at the same level of the link;
-tafjdep is the option to add TAFJ module dependencies in the dependencies section;
vi $JBOSS_HOME/modules/com/temenos/t24/main/module.xml</resources><dependencies><!--<module name="Add.your.modules.dependencies.h
name="Add.your.modules.dependencies.h
For Domain Slave server, you don't need domain.xml, but you need to configure host-slave.xml. In the previous “Domain Server Groups” step, we have defined "App-
Server-Group" in the domain.xml. We need to make the corresponding changes to host-slave.xml.
Procedure
https://docs.temenos.com/docs/Solutions/Runbooks/R24-S01-Runbook/t_application-tier-configuration2.htm# 12/19
10/7/24, 12:44 AM Application Tier Configuration
<interfaces><interface name="management"
name="management"><inet-address
><inet-address value="${jboss.bind.address.management:<master-IP>}"
value="${jboss.bind.address.management:<master-IP>}"/></interface><interface
/></interface><interface n
3. Edit host-slave.xml.
vi $JBOSS_HOME/domain/configuration/host-slave.xml
<servers><server name="server-one"
name="server-one" group=
group="main-server-group"
"main-server-group"/><server
/><server name="server-two"
name="server-two" group=
group="other-server-group"
"other-server-group"><!--
><!-- server-two av
New Value:
NOTE:
You need to customize your JVM heap size and permgen space according to your server capacity.
<servers><server name="App-server-one"
name="App-server-one" group="App-Server-Group"
group="App-Server-Group"><jvm
><jvm name="App-server-one"
name="App-server-one"><heap
><heap size=8096m"
size=8096m" max-size="8096m
max-size="8096m"/><jvm-o
"/><jvm-o
<servers><server name="App-server-two"
name="App-server-two" group=
group="App-Server-Group"
"App-Server-Group"><jvm
><jvm name="App-server-two"
name="App-server-two"><heap
><heap size="8096m"
size="8096m" max-size=
max-size="8096m"
"8096m"/><jvm-
/><jvm-
https://docs.temenos.com/docs/Solutions/Runbooks/R24-S01-Runbook/t_application-tier-configuration2.htm# 13/19
10/7/24, 12:44 AM Application Tier Configuration
Procedure
1. Open domain.xml file under $JBOSS_HOME/domain/configuration by using the default text editor on master server.
vi $JBOSS_HOME/ domain/configuration
2. Find the urn:jboss:domain:resource-adapters subsystem in the configuration file. Add the below resource adapter if there are no resource adapters defined for
this subsystem.
<subsystem xmlns="urn:jboss:domain:resource-adapters:6.0"
xmlns="urn:jboss:domain:resource-adapters:6.0"><resource-adapters><resource-adapter
><resource-adapters><resource-adapter id="wmq.jmsra"
id="wmq.jmsra"><archive>wmq.jmsra.rar<
><archive>wmq.jmsra.rar<
3. Configure the resource adapter, with transaction support. Define a new connection factory (MQConnectionFactory) within a connection-definition section and
queues mapping within admin-objects section. MQ hostname and port will be substituted dynamically from server start parameters.
<connection-definitions><connection-definition class-name="com.ibm.mq.connector.outbound.ManagedConnectionFactoryImpl"
class-name="com.ibm.mq.connector.outbound.ManagedConnectionFactoryImpl" jndi-name=
jndi-name="jav
"jav
4. Jms objects definition must match the name defined during MQ installation. Change Queue Manager Name as shown below for corresponding admin-objects.
<admin-objects><admin-object class-name="com.ibm.mq.connector.outbound.MQQueueProxy"
class-name="com.ibm.mq.connector.outbound.MQQueueProxy" jndi-name=
jndi-name="java:/queue/TPSReplyQueue"
"java:/queue/TPSReplyQueue" enabled=
enabled="t
"t
b. Browse wmq.jms.rar file and click Next to continue. Then, click Finish to deploy the rar file.
https://docs.temenos.com/docs/Solutions/Runbooks/R24-S01-Runbook/t_application-tier-configuration2.htm# 14/19
10/7/24, 12:44 AM Application Tier Configuration
1. Open the domain.xml file under $JBOSS_HOME/domain/configuration by using the default text editor on master server.
2. Find the urn:jboss:domain:resource-adapters subsystem in the configuration file. Add the below kafka resource adapter and new KafkaConnectionFactory
connection factory to support kafka deployment.
<resource-adapter id="TemnKafkaRAR"
id="TemnKafkaRAR"><archive>TemnKafka.rar</archive><transaction-support>XATransaction</transaction-support><connecti
><archive>TemnKafka.rar</archive><transaction-support>XATransaction</transaction-support><connecti
3. Deploy the Kafka resource adapter from the JBoss admin console.
4. Navigate to Deployments > Server Groups > App-Server-Group.
a. Click Upload new Deployment in the browser.
https://docs.temenos.com/docs/Solutions/Runbooks/R24-S01-Runbook/t_application-tier-configuration2.htm# 15/19
10/7/24, 12:44 AM Application Tier Configuration
Deploying Tb-Server
Procedure
Procedure
<activation-config-property-name>hostName</activation-config-property-name><activation-config-property-value><MQhostname/IP></activat
4. Once activation config property is updated for all MDBs, all connection factory mapping should also be updated.
Old Value:
<resource-ref><res-ref-name>jms/TAFJQueueConnectionFactory</res-ref-name><res-type>javax.jms.ConnectionFactory</res-type><jndi-name>j
New Value:
https://docs.temenos.com/docs/Solutions/Runbooks/R24-S01-Runbook/t_application-tier-configuration2.htm# 16/19
10/7/24, 12:44 AM Application Tier Configuration
<resource-ref><res-ref-name>jms/TAFJQueueConnectionFactory</res-ref-name><res-type>javax.jms.ConnectionFactory</res-type><jndi-name>j
5. Navigate to assembly-descriptor section on jboss-ejb3.xml file. Add the below for each MDB to ensure that the MDB’s point to the IBM MQ as default.
<mdb:
<mdb :resource-adapter-binding> <jee:
<jee:ejb-name>OFSTransactedMDB</jee
ejb-name>OFSTransactedMDB</jee:
:ejb-name><mdb
ejb-name><mdb:
:resource-adapter-name>wmq.jmsra</mdb
resource-adapter-name>wmq.jmsra</mdb:
:resource-adapte
6. Navigate to TAFJJEE_EAR.ear/TAFJJEE_WAR_TAFJ.war/WEB-INF directory, open the jboss-web.xml on default text editor and replace connection factory name
in resource reference section.
Old Value:
<resource-ref><res-ref-name>jms/TAFJQueueConnectionFactory</res-ref-name><res-type>javax.jms.ConnectionFactory</res-type><jndi-name>j
New Value:
<resource-ref><res-ref-name>jms/TAFJQueueConnectionFactory</res-ref-name><res-type>javax.jms.ConnectionFactory</res-type><jndi-name>j
7. Deploy the TAFJSpoolerPlugins.rar and TAFJJEE_EAR.ear war files using the JBoss console.
8. Navigate to Deployments > Server Groups > App-Server-Group. Click Upload new Deployment and browse the required deployment files
(TAFJJEE_EAR.ear and TAFJSpoolerPlugins.rar) for deployment.
Accessing TAFJJEE
Procedure
1. Go to each application slave server and follow the below steps to setup the tafj console access user credentials.
2. In the Linux shell, navigate to $JBOSS_HOME/bin.
3. Create an application user with the command: add-user.sh.
4. Grant the user TAFJAdmin role.
a. Specify the type of user. In this case, it is Application user.
. /add-user.shWhat type of user do you wish to add?a) Management User (mgmt-users.properties)b) Application User (application-use
Enter the details of the new user to add.Using realm ApplicationRealm as discovered from the existing property files.Username:
files.Username: jum
https://docs.temenos.com/docs/Solutions/Runbooks/R24-S01-Runbook/t_application-tier-configuration2.htm# 17/19
10/7/24, 12:44 AM Application Tier Configuration
c. Provide the password and re-enter the password. In this case, the password is "Temenos@1234".
Password recommendations are listed below. To modify these restrictions edit the add-user.properties configuration file.- The pas
d. Specify the groups the user should belong to. In this case, the group is "TAFJAdmin".
What groups do you want this user to belong to? (Please enter a comma separated list,
list, or leave blank for none)[
none)[ ]: TAFJAdmin
e. Enter yes to confirm the addition of the user to the realm "ApplicationRealm".
About to add user 'jumpstart' for realm 'ApplicationRealm'Is this correct yes/no?
f. For the last question about connecting one AS process to another, Enter the response 'no'.
https://docs.temenos.com/docs/Solutions/Runbooks/R24-S01-Runbook/t_application-tier-configuration2.htm# 18/19
10/7/24, 12:44 AM Application Tier Configuration
https://docs.temenos.com/docs/Solutions/Runbooks/R24-S01-Runbook/t_application-tier-configuration2.htm# 19/19