Stack1 AWS Red Hat JBoss Runbook Multitier R18
Stack1 AWS Red Hat JBoss Runbook Multitier R18
All post R17 AMR releases up to and including R18 AMR (201705 - 201804)
Stack 1 Reference Architecture . Red Hat - JBoss Customer Runbook
Contents
1 About this Runbook ............................................................................................................ 4
1.1 Stacks table ............................................................................................................................................................... 4
1.2 Audience .................................................................................................................................................................... 5
1.3 Skills and knowledge ................................................................................................................................................ 5
1.4 Legal ........................................................................................................................................................................... 5
1.5 History ........................................................................................................................................................................ 5
2 Introduction ..................................................................................................................... 7
3 Prerequisites .................................................................................................................... 8
3.1 Checking operating system version ....................................................................................................................... 8
3.2 Time synchronization on all servers ...................................................................................................................... 8
3.3 Setting time zone on all servers ............................................................................................................................. 8
3.4 Preparing operating system user and folders ...................................................................................................... 8
3.5 Installing the latest JDK 8 on all servers ................................................................................................................ 9
3.6 Third-party software ................................................................................................................................................ 9
6 Appendix ......................................................................................................................... 75
6.1 TAFJJEE_EAR.ear for Active MQ ............................................................................................................................. 75
Stack 1 Reference Architecture . Red Hat - JBoss Customer Runbook
Stack 1 Reference Architecture Runbook describes how to configure TAFJ-T24 on the recommended
architecture. This runbook is relevant to all post R17 AMR releases up to and including R18 AMR (i.e.
201705 - 201804).
1.2 Audience
This runbook is designed for developers and technical consultants who want to deploy TAFJ-T24 on
distributed multi-tiered JBoss EAP clusters and access it through T24 Browser.
To use this runbook, you need a basic understanding of both TAFJ-T24 and JBoss application servers.
1.4 Legal
© Copyright 2018 Temenos Headquarters SA. All rights reserved.
The information in this guide relates to TEMENOSTM information, products and services. It also includes
information, data and keys developed by other parties.
While all reasonable attempts have been made to ensure accuracy, currency and reliability of the content
in this guide, all information is provided "as is".
There is no guarantee as to the completeness, accuracy, timeliness or the results obtained from the use of
this information. No warranty of any kind is given, expressed or implied, including, but not limited to
warranties of performance, merchantability and fitness for a particular purpose.
In no event will TEMENOS be liable to you or anyone else for any decision made or action taken in
reliance on the information in this document or for any consequential, special or similar damages, even if
advised of the possibility of such damages.
TEMENOS does not accept any responsibility for any errors or omissions, or for the results obtained from
the use of this information. Information obtained from this guide should not be used as a substitute for
consultation with TEMENOS.
References and links to external sites and documentation are provided as a service. TEMENOS is not
endorsing any provider of products or services by facilitating access to these sites or documentation from
this guide.
The content of this guide is protected by copyright and trademark law. Apart from fair dealing for the
purposes of private study, research, criticism or review, as permitted under copyright law, no part may be
reproduced or reused for any commercial purposes whatsoever without the prior written permission of
the copyright owner. All trademarks, logos and other marks shown in this guide are the property of their
respective owners.
1.5 History
Version Date Description Author
2 Introduction
Stack 1 Reference Architecture Runbook describes how to install and configure TAFJ-T24 on the Red Hat
platform. The stack comprises 5 tiers:
Tier 2: Web
This tier contains the application servers with
presentation channels. It communicates with
Broker tier to send data to the Application tier.
In this exercise, a 2-node JBoss EAP (version
7.1.0) cluster was used.
Tier 3: Message Broker
This layer contains JMS messaging servers. JMS
queue provides messaging platform to facilitate
reliable communication between Web tier and
T24 application tier.
In this exercise, a 2-node HA cluster JBoss Active
MQ (version 6.3.0.redhat-187)
Tier 4: Application
This tier contains the application servers with
TAFJ/T24.
In this exercise, a 2-node JBoss EAP (version
7.1.0) cluster was used.
Tier 5: Database
This tier contains the database which stores T24
data. In this exercise, AWS RDS Oracle
12.1.0.2.v10 across 2 availability zones was used.
Stack 1 Reference Architecture . Red Hat - JBoss Customer Runbook
3 Prerequisites
The following prerequisites are required on all servers in all layers of the architecture.
$ cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.4 (Maipo)
$ uname -r
3.10.0-693.11.6.el7.x86_64
This is very important for log, statistics, status and timestamp generation to have all servers synchronized
about date and time. Normally an NTP (Network Time Protocol) server is required. In this exercise AWS
Time Sync Service was used.
2. Create the installation root folder on all the servers in the application layer and Web layer.
/u01 will be used as the root folder for the software installations.
/u01/Temenos is TEMENOS_HOME.
/u01/Temenos/3rdParty stores 3rd party software like Java, JBoss, Weblogic etc.
All non-Temenos software will be installed in this folder.
Stack 1 Reference Architecture . Red Hat - JBoss Customer Runbook
$ mkdir /u01/Temenos
$ chown -R t24user:t24user /u01/Temenos
$ chmod -R 755 /u01/Temenos
$ mkdir /u01/Temenos/Install
$ mkdir /u01/Temenos/3rdParty
##############################################
# Temenos Home
#
export TEMENOS_HOME=/u01/Temenos
echo "TEMENOS_HOME="$TEMENOS_HOME
##############################################
For database servers, JDK is installed by the database installation process itself.
You can obtain TAFJ1 runtime, T242 libraries and BrowserWeb.war file from Temenos Distribution.
You need to import T24 data into database. T24 tables are preloaded to the Oracle 12c database - the .dmp
file has already been imported.
4.1 Prerequisites
This chapter assumes that the JBoss Domain cluster has already been installed on the Application layer
Ensure that you have installed all third-party software before you start to install and configure the stack.
For more information, see Third-party software.
As this document is for JBoss domain cluster T24 deployment, so you need to edit the
$JBOSS_HOME/bin/domain.conf file to set up environment variables (for standalone deployment, you
need to edit $JBOSS_HOME/bin/standalone.conf).
else
echo "JAVA_OPTS already set in environment; overriding default settings with values:
$JAVA_OPTS"
fi
JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF-8"
Assist the host controllers in ensuring that all running JBoss EAP server instances are configured
in accordance with this policy.
Stack 1 Reference Architecture. Red Hat - JBoss Customer Runbook
domain.xml file is a large xml file, which makes it hard to read. It contains four profiles:
vi $JBOSS_HOME/domain/configuration/domain.xml
<profiles>
<profile name="full-ha-T24-APP">
… …
</profile>
</profiles>
vi $JBOSS_HOME/domain/configuration/domain.xml
The following is the required profile which is based on the full-ha profile:
<socket-binding-groups>
<socket-binding-group name="full-ha-sockets" default-interface="public">
… …
</socket-binding-group>
</socket-binding-groups>
vi $JBOSS_HOME/domain/configuration/domain.xml
The old value (remove the xml block of the server group definition which is not used):
<server-groups>
<server-group name="main-server-group" profile="full">
<jvm name="default">
<heap size="1000m" max-size="1000m"/>
<permgen max-size="256m"/>
</jvm>
<socket-binding-group ref="full-sockets"/>
</server-group>
<server-group name="other-server-group" profile="full-ha">
<jvm name="default">
<heap size="1000m" max-size="1000m"/>
<permgen max-size="256m"/>
Stack 1 Reference Architecture. Red Hat - JBoss Customer Runbook
</jvm>
<socket-binding-group ref="full-ha-sockets"/>
</server-group>
</server-groups>
<server-groups>
<server-group name="t24-server-group-APP" profile="full-ha-T24-
APP">
<jvm name="t24-server-group-APP">
<heap size="8092m" max-size="8092m"/>
</jvm>
<socket-binding-group ref="full-ha-sockets"/>
</server-group>
</server-groups>
Note: You need to customize your JVM heap size according to your server capacity.
$ cd $TAFJ_HOME/appserver/jboss/jboss7eap/jboss-cli
$ cat tafj.properties
2. Edit the file and provide the following parameters values: DB_URL, DB_DRIVER, DB_USER and
DB_PWD. The following is an example configuration:
Stack 1 Reference Architecture. Red Hat - JBoss Customer Runbook
DB_URL=jdbc:oracle:thin:@//t24rds2.xxxxxx.eu-west-
1.rds.amazonaws.com:1521/T24DB
DB_DRIVER=ora12c
DB_USER=t24
DB_PWD=t24
3. Edit the T24Setup.cli file. Uncomment the chosen Oracle 12c driver.
$ vi $TAFJ_HOME/appserver/jboss/jboss7eap/jboss-cli/T24Setup.cli
#Drivers
#define the driver corresponding to your database - H2 driver is already
existing by default - uncomment one of the following to create the driver
corresponding to your database
#please note that you have to create the module for the driver first
/subsystem=datasources/jdbc-driver=ora12c:add(driver-name=ora12c,driver-
module-name=com.oracle.ora12c,driver-xa-datasource-class-
name=oracle.jdbc.OracleDriver)
#/subsystem=datasources/jdbc-driver=sqljdbc:add(driver-name=sqljdbc,driver-
module-name=com.microsoft.sqlserver.jdbc,driver-xa-datasource-class-
name=com.microsoft.sqlserver.jdbc.SQLServerXADataSource)
#/subsystem=datasources/jdbc-driver=db2jdbc:add(driver-name=db2jdbc,driver-
module-name=com.ibm.db2v11,driver-xa-datasource-class-
name=com.ibm.db2.jcc.DB2Driver)
$ sed -i -e 's/\/subsystem=/\/profile=full-ha-T24-APP\/subsystem=/g'
T24Setup.cli
5. Edit the jboss-cli.xml file and set the value of resolve-parameter-value to true.
$ $JBOSS_HOME/bin/jboss-cli.xml
<validate-operation-requests>true</validate-operation-requests>
7. Back up your current domain.xml file. Start your JBoss domain controller.
8. Run the following JBoss-cli command. Note that you need to substitute the IP address of your
domain controller.
Stack 1 Reference Architecture. Red Hat - JBoss Customer Runbook
$JBOSS_HOME/bin/jboss-cli.sh --connect --
controller=Domain_Controller_IP_Address:9999 --
file=$TAFJ_HOME/appserver/jboss/jboss7eap/jboss-cli/T24Setup.cli --
properties=$TAFJ_HOME/appserver/jboss/jboss7eap/jboss-cli/tafj.properties
The batch executed successfully
9. Open your JBoss domain.xml file and verify the changes after you have run the JBoss-cli
command. Compare the domain.xml file before and after the change. Ensure that the T24 data
source and T24 message queues are added to the domain.xml file.
$ vi $JBOSS_HOME/domain/configuration/domain.xml
$ grep -i t24 $JBOSS_HOME/domain/configuration/domain.xml
Procedure
$ vi $JBOSS_HOME/domain/configuration/domain.xml
$ grep -i t24 $JBOSS_HOME/domain/configuration/domain.xml
The MAX_COUNT parameter defines the maximum number of parameters that can be parsed in a post
body. If exceeded, parsing fails using an IllegalStateException. The default value is 512
parameters.
The old value:
<system-properties>
<!-- IPv4 is not required, but setting this helps avoid unintended use of
IPv6 -->
<property name="java.net.preferIPv4Stack" value="true"/>
</system-properties>
<system-properties>
<property name="java.net.preferIPv4Stack" value="true"/>
<property name="file.encoding" value="UTF-8"/>
<property name="java.security.egd" value="file:/dev/../dev/urandom"/>
<property name="org.apache.tomcat.util.http.Parameters.MAX_COUNT"
value="9999"/>
</system-properties>
<subsystem xmlns="urn:jboss:domain:transactions:4.0">
<core-environment>
<process-id>
<uuid/>
</process-id>
</core-environment>
<subsystem xmlns="urn:jboss:domain:transactions:1.5">
<core-environment node-identifier="${jboss.tx.node.id}" >
<process-id>
<uuid/>
</process-id>
</core-environment>
<subsystem xmlns="urn:jboss:domain:datasources:5.0">
<datasources>
<datasource jta="true" jndi-name="java:/jdbc/t24DS" pool-
name="t24DS" enabled="true" use-java-context="true" use-ccm="true">
<connection-url>
jdbc:oracle:thin:@your_DB_IP:1521/your_DB_service_name
</connection-url>
Stack 1 Reference Architecture. Red Hat - JBoss Customer Runbook
<connection-property name="defaultRowPrefetch">
100
</connection-property>
<driver>ora12c</driver>
<pool>
<min-pool-size>5</min-pool-size>
<max-pool-size>220</max-pool-size>
<flush-strategy>FailingConnectionOnly</flush-strategy>
</pool>
<security>
<user-name>your_DB_user</user-name>
<password>your_DB_password</password>
</security>
</check-valid-connection-sql>
<valid-connection-checker class-
name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker">
</valid-connection-checker>
<stale-connection-checker class-
name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleStaleConnectionChecker">
</stale-connection-checker>
<exception-sorter class-
name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter">
</exception-sorter>
<background-validation>true</background-validation>
<background-validation-millis>2000</background-
validation-millis>
</validation>
</datasource>
</connection-url>
<driver>ora12c</driver>
<pool>
<min-pool-size>5</min-pool-size>
<max-pool-size>220</max-pool-size>
<flush-strategy>FailingConnectionOnly</flush-strategy>
</pool>
<security>
<user-name>your_DB_user</user-name>
<password>your_DB_password</password>
</security>
</datasource>
<password>your_DB_password</password>
</security>
</datasource>
<drivers>
<driver name="ora12c" module="com.oracle.ora12c">
<xa-datasource-class>oracle.jdbc.OracleDriver</xa-
datasource-class>
</driver>
</drivers>
</datasources>
</subsystem>
<subsystem xmlns="urn:jboss:domain:ee:4.0">
<global-modules>
<module name="com.temenos.tafj" slot="main"/>
<module name="com.temenos.t24" slot="main"/>
</global-modules>
<spec-descriptor-property-replacement>false</spec-descriptor-
property-replacement>
<jboss-descriptor-property-replacement>true</jboss-descriptor-
property-replacement>
<annotation-property-replacement>false</annotation-property-
replacement>
</subsystem>
<subsystem xmlns="urn:jboss:domain:ejb3:5.0">
… …
<pools>
<bean-instance-pools>
<strict-max-pool name="slsb-strict-max-pool" derive-
size="from-worker-pools" instance-acquisition-timeout="5" instance-acquisition-
timeout-unit="MINUTES"/>
<strict-max-pool name="mdb-strict-max-pool" derive-
size="from-cpu-count" instance-acquisition-timeout="5" instance-acquisition-
timeout-unit="MINUTES"/>
<strict-max-pool name="ofs-mdb-strict-max-pool" max-pool-
size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-
unit="MINUTES"/>
<strict-max-pool name="browser-mdb-strict-max-pool" max-
pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-
unit="MINUTES"/>
<strict-max-pool name="arcmob-mdb-strict-max-pool" max-
pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-
unit="MINUTES"/>
…
…
<strict-max-pool name="seat-mdb-strict-max-pool" max-
pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-
unit="MINUTES"/>
<strict-max-pool name="phantom-mdb-strict-max-pool" max-
pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-
unit="MINUTES"/>
</bean-instance-pools>
</pools>
Stack 1 Reference Architecture. Red Hat - JBoss Customer Runbook
<subsystem xmlns="urn:jboss:domain:ejb3:1.5">
… …
<mdb>
<resource-adapter-ref resource-adapter-name="${ejb.resource-
adapter-name:activemq-rar.rar}"/>
<bean-instance-pool-ref pool-name="mdb-strict-max-pool"/>
</mdb>
8. Configure message-driven beans. By default TAFJ JBoss script deploys Active MQs in memory.
You need to use the auto configured in-memory queues as reference, convert the in-memory AMQ
configuration into external AMQ broker configuration.
1) Configure local queues
2) Configure distributed queues
In T24 some message-driven beans are required to run locally instead of being distributed. In memory
Active MQ is the default messaging system in JBoss EAP 7, and Active MQ will be used here to manage
the local queues. t24EXECQueue and tecEventsTopic are the local queues.
Procedure
It is assumed that you have already configured a HA JBoss A-MQ cluster. T24 distributed queues are
configured to use Active MQ. The following information is needed for JBoss A-MQ connection:
JBoss A-MQ administrative user name and password. In this example we use admin as user name
and admin as password.
JBoss A-MQ master server host IP address. In this example, 10.42.17.20 is used.
JBoss A-MQ slave host IP. In this example, 10.42.17.21 is used.
ActiveMQ resource adapter is activemq-rar-5.11.0.redhat-630262.rar. By installing the
ActiveMQ resource adapter, you make it possible for message-driven beans and servlets to
communicate through an external JBoss A-MQ broker instance.
Procedure
Stack 1 Reference Architecture. Red Hat - JBoss Customer Runbook
vi $JBOSS_HOME/domain/configuration/domain.xml
The old value: (replace the old value with the new value)
<subsystem xmlns="urn:jboss:domain:resource-adapters:5.0"/>
The new value: (replace the highlighted user name, password, IP addresses with your Active MQ
connection values)
Note: The following content is correct at the time when the document is written, however there
might be some changes of the queues in a later version. You need to compare the number of queue
entries and names with the queues copied from the previous step. Ensure that the manually
configured queue numbers and name match the auto configured queues by TAFJ script.
<subsystem xmlns="urn:jboss:domain:resource-adapters:5.0">
<resource-adapters>
<resource-adapter id="activemq-rar.rar">
<archive>
activemq-rar-5.11.0.redhat-630262.rar
</archive>
<transaction-support>XATransaction</transaction-support>
<config-property name="ServerUrl">
failover:(tcp://10.42.17.20:61616?soLinger=0,tcp://10.42.17.21:61616?soLinger=0)
</config-property>
<config-property name="UserName">
admin
</config-property>
<config-property name="Password">
admin
</config-property>
<connection-definitions>
<connection-definition class-
name="org.apache.activemq.ra.ActiveMQManagedConnectionFactory" jndi-
name="java:/JmsXA" enabled="true" pool-name="JmsXA">
<xa-pool>
<min-pool-size>1</min-pool-size>
<max-pool-size>20</max-pool-size>
<prefill>false</prefill>
Stack 1 Reference Architecture. Red Hat - JBoss Customer Runbook
<is-same-rm-override>false</is-same-rm-
override>
</xa-pool>
<recovery>
<recover-credential>
<user-name>admin</user-name>
<password>admin</password>
</recover-credential>
</recovery>
</connection-definition>
</connection-definitions>
<admin-objects>
<admin-object class-
name="org.apache.activemq.command.ActiveMQQueue" jndi-
name="java:/queue/t24TCIBCORPReplyQueue" use-java-context="true" pool-
name="t24TCIBCORPReplyQueue">
<config-property name="PhysicalName">
t24TCIBCORPReplyQueue
</config-property>
</admin-object>
<admin-object class-
name="org.apache.activemq.command.ActiveMQQueue" jndi-
name="java:/queue/t24TCIBReplyQueue" use-java-context="true" pool-
name="t24TCIBReplyQueue">
<config-property name="PhysicalName">
t24TCIBReplyQueue
</config-property>
</admin-object>
<admin-object class-
name="org.apache.activemq.command.ActiveMQQueue" jndi-
name="java:/queue/t24BROWSERQueue" use-java-context="true" pool-
name="t24BROWSERQueue">
<config-property name="PhysicalName">
t24BROWSERQueue
</config-property>
</admin-object>
<admin-object class-
name="org.apache.activemq.command.ActiveMQQueue" jndi-
name="java:/queue/t24CALLATReplyQueue" use-java-context="true" pool-
name="t24CALLATReplyQueue">
<config-property name="PhysicalName">
t24CALLATReplyQueue
</config-property>
</admin-object>
<admin-object class-
name="org.apache.activemq.command.ActiveMQQueue" jndi-
Stack 1 Reference Architecture. Red Hat - JBoss Customer Runbook
<admin-object class-
name="org.apache.activemq.command.ActiveMQQueue" jndi-
name="java:/queue/t24TPSQueue" use-java-context="true" pool-name="t24TPSQueue">
<config-property name="PhysicalName">
t24TPSQueue
</config-property>
</admin-object>
<admin-object class-
name="org.apache.activemq.command.ActiveMQQueue" jndi-
name="java:/queue/t24OFSReplyQueue" use-java-context="true" pool-
name="t24OFSReplyQueue">
<config-property name="PhysicalName">
t24OFSReplyQueue
</config-property>
</admin-object>
<admin-object class-
name="org.apache.activemq.command.ActiveMQQueue" jndi-
name="java:/queue/t24OFSQueue" use-java-context="true" pool-name="t24OFSQueue">
<config-property name="PhysicalName">
t24OFSQueue
</config-property>
</admin-object>
<admin-object class-
name="org.apache.activemq.command.ActiveMQQueue" jndi-
name="java:/queue/t24SEATReplyQueue" use-java-context="true" pool-
name="t24SEATReplyQueue">
<config-property name="PhysicalName">
t24SEATReplyQueue
</config-property>
</admin-object>
<admin-object class-
name="org.apache.activemq.command.ActiveMQQueue" jndi-
name="java:/queue/t24TWSReplyQueue" use-java-context="true" pool-
name="t24TWSReplyQueue">
<config-property name="PhysicalName">
t24TWSReplyQueue
</config-property>
</admin-object>
<admin-object class-
name="org.apache.activemq.command.ActiveMQQueue" jndi-
name="java:/queue/t24AMLReplyQueue" use-java-context="true" pool-
name="t24AMLReplyQueue">
<config-property name="PhysicalName">
t24AMLReplyQueue
</config-property>
</admin-object>
Stack 1 Reference Architecture. Red Hat - JBoss Customer Runbook
<admin-object class-
name="org.apache.activemq.command.ActiveMQQueue" jndi-
name="java:/queue/t24SEATQueue" use-java-context="true" pool-name="t24SEATQueue">
<config-property name="PhysicalName">
t24SEATQueue
</config-property>
</admin-object>
<admin-object class-
name="org.apache.activemq.command.ActiveMQQueue" jndi-
name="java:/queue/t24TWSQueue" use-java-context="true" pool-name="t24TWSQueue">
<config-property name="PhysicalName">
t24TWSQueue
</config-property>
</admin-object>
<admin-object class-
name="org.apache.activemq.command.ActiveMQQueue" jndi-
name="java:/queue/t24ARCMOBReplyQueue" use-java-context="true" pool-
name="t24ARCMOBReplyQueue">
<config-property name="PhysicalName">
t24ARCMOBReplyQueue
</config-property>
</admin-object>
<admin-object class-
name="org.apache.activemq.command.ActiveMQQueue" jndi-
name="java:/queue/t24TCIBQueue" use-java-context="true" pool-name="t24TCIBQueue">
<config-property name="PhysicalName">
t24TCIBQueue
</config-property>
</admin-object>
<admin-object class-
name="org.apache.activemq.command.ActiveMQQueue" jndi-
name="java:/queue/t24IFInboundQueue" use-java-context="true" pool-
name="t24IFInboundQueue">
<config-property name="PhysicalName">
t24IFInboundQueue
</config-property>
</admin-object>
<admin-object class-
name="org.apache.activemq.command.ActiveMQQueue" jndi-
name="java:/queue/t24TCIBCORPQueue" use-java-context="true" pool-
name="t24TCIBCORPQueue">
<config-property name="PhysicalName">
t24TCIBCORPQueue
</config-property>
</admin-object>
<admin-object class-
name="org.apache.activemq.command.ActiveMQQueue" jndi-
Stack 1 Reference Architecture. Red Hat - JBoss Customer Runbook
2. Set the TAFJ / T24 environment variables: add $TAFJ_HOME and $T24_HOME to the Application
server, log in as t24user and open the file .bash_profile in your text editor.
[t24user@stak1ap1 ~]$ cd
[t24user@stak1ap1 ~]$ vi .bash_profile
##############################################
# Temenos Home
#
export TEMENOS_HOME=/u01/Temenos
echo "TEMENOS_HOME="$TEMENOS_HOME
##############################################
# JAVA Home
export JAVA_HOME=$TEMENOS_HOME/3rdParty/Java/jdk1.8.0_162
echo "JAVA_HOME="$JAVA_HOME
export PATH=$JAVA_HOME/bin:$PATH
java -version
##############################################
# TAFJ Home
export TAFJ_HOME=$TEMENOS_HOME/TAFJ
echo "TAFJ_HOME="$TAFJ_HOME
export PATH=$TAFJ_HOME/bin:$PATH
##############################################
# T24 Home
export T24_HOME=$TEMENOS_HOME/T24
echo "T24_HOME="$T24_HOME
################################################
4. Close your session and log in again with the t24user. Verify the new environment variables.
Before you begin, you need the following TAFJ installation package from Temenos:
TAFJ.R18.AMR.0.tar.gz.
Stack 1 Reference Architecture. Red Hat - JBoss Customer Runbook
Procedure
ECLIPSE_HOME: /u01/Temenos/TAFJ/conf
tafj.link created: /u01/Temenos/TAFJ/conf
===========================================================
. Thank you for having installed TAFJ .
. *** IMPORTANT *** .
. Please make sure that you have the environment variable .
. JAVA_HOME set to a JDK 8 or above. .
===========================================================
[t24user@stak1ap1 tafjinst]$
Home : '/u01/Temenos/TAFJ'
Conf directory : '/u01/Temenos/TAFJ/conf'
Log directory : '/u01/Temenos/TAFJ/log'
Log directory T24 : '/u01/Temenos/TAFJ/log_T24'
Logging implementation : LOG4J2
Version : R18_AMR
Stack 1 Reference Architecture. Red Hat - JBoss Customer Runbook
__________________________________________________________________
java.home : /u01/Temenos/3rdParty/Java/jdk1.8.0_162/jre
java.vendor : Oracle Corporation
java.version : 1.7.0_79
os.arch : amd64
os.name : Linux
HostName : xxxxx.xxxxxxx.com
IP Address : 10.42.X.X
Runtime : Double Byte SysSeparator
__________________________________________________________________
- Project : 'tafj'
Java src dir : /u01/Temenos/TAFJ/data/tafj/java
Java classes dir : /u01/Temenos/TAFJ/data/tafj/classes
Update dir : /u01/Temenos/TAFJ/updates
---------------------------------------------------------------
---
Java default package : com.temenos.t24
---------------------------------------------------------------
---
DataBase URL :
DataBase user :
---------------------------------------------------------------
---
Locking mode : JDBC
Locking name :
---------------------------------------------------------------
---
Current dir : /u01/Temenos/TAFJ/UD
Como dir : /u01/Temenos/TAFJ/UD/&COMO&
Hold dir : /u01/Temenos/TAFJ/UD/&HOLD&
Stack 1 Reference Architecture. Red Hat - JBoss Customer Runbook
UD encoding : UTF-8
---------------------------------------------------------------
---
Timezone :
Local : en_US
Debug enabled : true
---------------------------------------------------------------
---
JMS logger enabled : false
Logger API enabled : true
TEC disabled : false
---------------------------------------------------------------
---
Session monitor enabled : true
Session monitor host : localhost
Session monitor port : 8377
__________________________________________________________________
Project validation:
TAFJ Java Functions Version in DB : NOT FOUND
TAFJ Java Functions Version in File : PB201704 03/21/2017
There is a mismatch between the java stored functions version
available in the runtime and the one loaded in the database, make sure
you are using the latest version.
To update the java stored functions, please follow "Load stored
functions instruction" in the TAFJ DB documentation related to your
database.
No duplicated classes found.
__________________________________________________________________
[t24user@stak1ap1 ~]$
Procedure
[t24user@stak1ap1 ~]$ ls
$TEMENOS_HOME/Install/MB.R18.ORACLE12c.UNIX.TAFJR18.20181231.bnk.tar.gz
/u01/Temenos/Install/MB.R18.ORACLE12c.UNIX.TAFJR18.20181231.bnk.tar.gz
You need to specify the values for the properties in the tafj.properties file, which is stored in
$TAFJ_HOME/conf.
Example:
4.3.5.3 UD directory
Example:
# Specify what will be considered as the "current" directory (eg in an OPEN "."
...)
temn.tajf.runtime.directory.current = /u01/Temenos/T24/bnk/UD
Stack 1 Reference Architecture. Red Hat - JBoss Customer Runbook
temn.tafj.jdbc.url Specify the URL to connect to your RDMS. You can ask your
database administrator for this URL.
temn.tafj.jdbc.driver Specify the driver to connect to your RDMS. You can ask your
database administrator about the driver to use.
temn.tafj.jdbc.username and Specify the user name and password to connect to the database.
temn.tafj.jdbc.password Ask your database administrator for them.
Example
#********************************************************************
#
# Database setup
#
#********************************************************************
#
temn.tafj.jdbc.driver = oracle.jdbc.driver.OracleDriver
Stack 1 Reference Architecture. Red Hat - JBoss Customer Runbook
temn.tafj.jdbc.username = your_DB_user_name
temn.tafj.jdbc.password = your_DB_password
#********************************************************************
#
# TAFJ Locking mechanism
#
#********************************************************************
# Tafj locking mode
# Could be : JDBC | ORCL | MSQL | PROC | PROCHASH | MEM | DATABASE | MEMORYGRID
# JDBC : locks managed in database uses LOCK_RECORDS table.
# ORCL : locks managed in database using DBMS_LOCK Oracle specific package.
Recommended solution for Oracle.
# MSQL : locks managed in database using DBMS_LOCK MS-SQL specific package.
Recommended solution for MS-SQL.
# PROC : TAFJ lock manager, external process, server accepting client connections
on a port.
# PROCHASH : TAFJ lock manager, external process, server accepting client
connections on a port (for performance).
# MEM : Memory mode version of the TAFJ lock manager to be used only in a single
application server.
# DATABASE : Use database locks of the underlying database in conjunction with
the secondary lock manager for non-existing records.
# MEMORYGRID : Memory locking across a datagrid using application server stack
caching mechanism. Currently only Coherence supported.
temn.tafj.locking.mode = ORCL
For performance reasons, change the value of the keys temn.tafj.jdbc.write.use.merge and
temn.tafj.jdbc.write.use.merge.no.xml to false.
#********************************************************************
#
# Database Specific setup
Stack 1 Reference Architecture. Red Hat - JBoss Customer Runbook
#
#********************************************************************
# set the port range of the system or set to get it from the database
#
#ie : temn.tafj.runtime.port.range = 10-45,76,89,2,130-150
temn.tafj.runtime.port.range = 1001-2000
temn.tafj.jdbc.use.sqlxml.resultset = false
Procedure
You need to copy the correct JDBC driver to the $TAFJ_HOME/ext directory. This directory is
automatically added to the TAFJ classpath.
JDBC drivers are provided in the $TAFJ_HOME/dbdrivers directory. You can use the jar files that are
under the dbdrivers folder as reference. Ideally, the JDBC drivers should match the database version.
Procedure
1. Read the instructions for jdbc jars in the Readme file. Location of the Readme file:
$TAFJ_HOME/dbdrivers/oracle-12c/README.
2. Copy the oracle-12c folder from $TAFJ_HOME/dbdrivers to $TAFJ_HOME/ext.
3. Remove both the xdb.jar and the xmlparserv2.jar files from $TAFJ_HOME/ext/oracle-12c.
The .xdb.jar file is for an older version of Oracle. xdb6.jar should be used from Oracle
11.2.0.3 distribution onwards. For the xmlparserv2.jar, see the comments in the README
file.
4. Replace all the jars with the jars copied from the Oracle database server. You might need to obtain
the correct version of the jars from your database administrator, for example:
${ORACLE_HOME}/jdbc/lib/ojdbc8.jar
${ORACLE_HOME}/rdbms/jlib/xdb6.jar
${ORACLE_HOME}/lib/xmlparserv2_sans_jaxp_services.jar
${ORACLE_HOME}/jlib/oraclepki.jar
${ORACLE_HOME}/jlib/orai18n-collation.jar
${ORACLE_HOME}/jlib/orai18n.jar
${ORACLE_HOME}/jlib/orai18n-mapping.jar
The following section describes how to check T24 after you've installed and configured it for standalone
mode.
Procedure
a) Login as t24user.
c) Log in to the application using a valid T24 user name and password.
GLOBUS Rev. 201612 SIGN.ON Copyright (c) Temenos Systems Ltd 2017
------------------------------------------------------------------------------
$$$$$$$$$$ $ $ $ $$ $$$$$ $$$$$ $$$ $$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$ $$$ $$$ $ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$ $$ $$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$ $$$$$$$$ $$$$ $ $$ $$$$$$$$$$$$$$$$$$$$$$ $$
$$$$$$$$$$$$$$$ $$ $$$$$$$$$$$$$$$$$$$$$$$$$$$ $
$$$$$$$$$$$$ $ $$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$ $$ $$$$ $$ $$$$$$$$$$$$$$$ $
$$$$$$$$$ $$$$ $$$$$$$$$$$$$$$$$ $ $
$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$ $$$$$$$$$$$$$ $$ $$$ $
$$$$$$ $$$$$$$$$$$$ $ $
$$$$$$$$$ $$$$$$ $ $$ $$$
$$$$$$$ $$$$$$ $ $$$$$
$$$$$ $$$$ $ $$$$$$$$
$$$ $$ $$ $$$ $
$$ $
------------------------------------------------------------------------------
21 MAR 2018 13:17:42 USER [14593,]
ACTION
Note: By now you should be able to connect to T24 from all the servers in the Application
layer.
2. Check DBTools:
a) To access DBTools, you need to create a user, using the tUserMgnt utility.
The following sections describe how to configure T24 in the application tier of a JBoss domain cluster.
Let’s start with the slave server configuration.
2. Copy the file module.xml and the corresponding drivers to the main directory:
As the generation of module.xml in T24 can be very long, you can use a TAFJ tool to generate it m
ore quickly. To do that, run Module Generator from $TAFJ_HOME/bin.
Command syntax:
JBossTools module_name path_to_jars dest [root_prefix] [-tafjdep]
Options
module_name
path_to_jars
The list of directories that you want to parse (Use operating system path separator between dir
ectories)
dest
The directory (or path to the directory) where you want the file module.xml to be generated
root_prefix
-tafjdep
Found : /lib/IA_Config.jar
Found : /lib/FA_Config.jar
Found : /lib/USRETL_CheckProduction.jar
... ...
Found : /lib/PP_BillingService.jar
Found : /lib/AZ_Schedules.jar
Found : /lib/ST_CompanyCreation.jar
Found : /lib/AM_Foundation.jar
Found : /lib/AL_ModelBank.jar
module.xml generated under: /u01/Temenos/3rdParty/As/JBoss/jboss-eap-
6.4/modules/com/temenos/t24/main
Don't forget to fill up the dependencies section if you need one
b) Open the module.xml file in your text editor and add TAFJ dependencies
[t24user@stak1ap1 main]$ vi
$JBOSS_HOME/modules/com/temenos/t24/main/module.xml
</resources>
<dependencies>
<!--<module name="Add.your.modules.dependencies.here"/>-->
</dependencies>
</module>
</resources>
<dependencies>
<!--<module name="Add.your.modules.dependencies.here"/>-->
<module name="com.temenos.tafj"/>
</dependencies>
</module>
Stack 1 Reference Architecture. Red Hat - JBoss Customer Runbook
6. Edit the module.xml file to add the database dependency. You need to add
/RulesEngine/RulesEngine.jar to the <resources> section.
Stack 1 Reference Architecture. Red Hat - JBoss Customer Runbook
vi $JBOSS_HOME/modules/com/temenos/tafj/main/module.xml
<resource-root path="/ext/TAFJBASIC.jar"/>
<resource-root path="/ext/tComponentFramework.jar"/>
</resources>
<resource-root path="/ext/TAFJBASIC.jar"/>
<resource-root path="/ext/tComponentFramework.jar"/>
<resource-root path="/RulesEngine/RulesEngine.jar"/>
</resources>
7. Edit the module.xml file and add the com.oracle.ora12c module as dependency.
vi $JBOSS_HOME/modules/com/temenos/tafj/main/module.xml
<dependencies>
<module name="com.temenos.t24"/>
<!--
<module name="com.oracle.ora11g"/>
<module name="com.oracle.ora12c"/>
<module name="com.ibm.db2v10"/>
<module name="com.microsoft.sqlserver"/>
-->
<dependencies>
<module name="com.temenos.t24"/>
<module name="com.oracle.ora12c"/>
<!--
<module name="com.oracle.ora11g"/>
<module name="com.oracle.ora12c"/>
<module name="com.ibm.db2v10"/>
<module name="com.microsoft.sqlserver"/>
Stack 1 Reference Architecture. Red Hat - JBoss Customer Runbook
-->
In the previous “Domain server groups” topic, we have defined t24-server-group-APP in the
domain.xml file. We need to make the corresponding changes to host-slave.xml.
Procedure
vi $JBOSS_HOME/domain/configuration/host-slave.xml
<servers>
<server name="server-one" group="main-server-group"/>
<server name="server-two" group="other-server-group">
<!-- server-two avoids port conflicts by incrementing the ports
in the default socket-group declared in the server-group -->
<socket-bindings port-offset="150"/>
</server>
</servers>
Note: You need to customize your JVM heap size and permgen space according to your server capacity.
<servers>
<server name="t24-server-one-APP" group="t24-server-group-APP"
auto-start="true">
<jvm name="t24-server-one-APP" debug-enabled="false">
<heap size="8192m" max-size="8192m"/>
<jvm-options>
<option value="-Djboss.tx.node.id=t24-server-one-APP-
node"/>
</jvm-options>
</jvm>
</server>
</servers>
Stack 1 Reference Architecture. Red Hat - JBoss Customer Runbook
<servers>
<server name="t24-server-two-APP" group="t24-server-group-APP"
auto-start="true">
<jvm name="t24-server-two-APP" debug-enabled="false">
<heap size="8192m" max-size="8192m"/>
<jvm-options>
<option value="-Djboss.tx.node.id=t24-server-two-APP-
node"/>
</jvm-options>
</jvm>
</server>
</servers>
Procedure
3. Click Next.
5. Click Finish.
ActiveMQ resource adapter has been added to the repository.
Stack 1 Reference Architecture. Red Hat - JBoss Customer Runbook
Procedure
5. Click Finish.
5.1 Prerequisites
This chapter assumes that the JBoss Domain cluster has already been installed on the Web layer. For more
information on the prerequisite software, see Third-party software.
The following sections describe how to configure T24 in JBoss Domain cluster in Web Tier.
else
echo "JAVA_OPTS already set in environment; overriding default settings
with values: $JAVA_OPTS"
fi
JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF-8"
The domain.xml file is a large xml file, which makes it hard to read. It contains 4 profiles:
vi $JBOSS_HOME/domain/configuration/domain.xml
<profiles>
<profile name="full-ha-T24-WEB">
… …
</profile>
</profiles>
We are using full-ha-sockets only, so you can completely ignore the other 3 socket groups. For
simplicity, you can optionally remove the other 3 socket groups.
vi $JBOSS_HOME/domain/configuration/domain.xml
<socket-binding-groups>
<socket-binding-group name="full-ha-sockets" default-
interface="public">
… …
</socket-binding-group>
</socket-binding-groups>
You need to remove the sample server groups in the default domain.xml file and replace them with the
new server group definition.
vi $JBOSS_HOME/domain/configuration/domain.xml
The old value (remove the xml block of the server group definition which is not used):
<server-groups>
<server-group name="main-server-group" profile="full">
<jvm name="default">
<heap size="1000m" max-size="1000m"/>
<permgen max-size="256m"/>
</jvm>
<socket-binding-group ref="full-sockets"/>
</server-group>
<server-group name="other-server-group" profile="full-ha">
<jvm name="default">
<heap size="1000m" max-size="1000m"/>
<permgen max-size="256m"/>
</jvm>
Stack 1 Reference Architecture. Red Hat - JBoss Customer Runbook
<socket-binding-group ref="full-ha-sockets"/>
</server-group>
</server-groups>
<server-groups>
<server-group name="t24-server-group-WEB" profile="full-ha-T24-
WEB">
<jvm name="t24-server-group-WEB ">
<heap size="8092m" max-size="8092m"/>
</jvm>
<socket-binding-group ref="full-ha-sockets"/>
</server-group>
</server-groups>
file.encoding
java.security.egd
org.apache.tomcat.util.http.Parameters.MAX_COUNT
The maximum number of parameters that can be parsed in a post body. If exceeded, parsing fails
using an IllegalStateException. The default value is 512 parameters.
vi $JBOSS_HOME/domain/configuration/domain.xml
<system-properties>
<!-- IPv4 is not required, but setting this helps avoid unintended
use of IPv6 -->
<property name="java.net.preferIPv4Stack" value="true"/>
</system-properties>
<system-properties>
<property name="java.net.preferIPv4Stack" value="true"/>
<property name="file.encoding" value="UTF-8"/>
<property name="java.security.egd"
value="file:/dev/../dev/urandom"/>
<property name="org.apache.tomcat.util.http.Parameters.MAX_COUNT"
value="9999"/>
</system-properties>
vi $JBOSS_HOME/domain/configuration/domain.xml
<subsystem xmlns="urn:jboss:domain:transactions:1.5">
<core-environment>
<process-id>
<uuid/>
</process-id>
</core-environment>
<subsystem xmlns="urn:jboss:domain:transactions:1.5">
<core-environment node-
identifier="${jboss.tx.node.id}" >
<process-id>
<uuid/>
</process-id>
</core-environment>
Under <profile name="full-ha-T24-WEB">, search for urn:jboss:domain:ejb3. Add T24 EJB bean
pools definition.
vi $JBOSS_HOME/domain/configuration/domain.xml
<subsystem xmlns="urn:jboss:domain:ejb3:1.5">
… …
<mdb>
<resource-adapter-ref resource-adapter-name="${ejb.resource-
adapter-name:activemq-rar.rar}"/>
<bean-instance-pool-ref pool-name="mdb-strict-max-pool"/>
</mdb>
Procedure
vi $JBOSS_HOME/domain/configuration/domain.xml
<subsystem xmlns="urn:jboss:domain:messaging-activemq:2.0">
… …
<connection-factory name="InVmConnectionFactory"
entries="java:/ConnectionFactory" connectors="in-vm"/>
Stack 1 Reference Architecture. Red Hat - JBoss Customer Runbook
<subsystem xmlns="urn:jboss:domain:messaging-activemq:2.0">
… …
<connection-factory name="InVmConnectionFactory"
entries="java:/ConnectionFactory_dummy" connectors="in-vm"/>
JBoss A-MQ administrative user name and password. In this example, use admin as user name
and admin as password.
JBoss A-MQ master server host IP address. In this example 10.42.17.22 is used.
JBoss A-MQ slave host IP address. In this example 10.42.17.23 is used.
ActiveMQ resource adapter is activemq-rar-5.11.0.redhat-630262.rar. By installing the
ActiveMQ resource adapter, you make it possible for message driven beans and servlets to
communicate through an external JBoss A-MQ broker instance.
Procedure
vi $JBOSS_HOME/domain/configuration/domain.xml
The old value: (replace the old value with the new value)
<subsystem xmlns="urn:jboss:domain:resource-adapters:5.0"/>
The new value: (replace the highlighted user name, password, IP addresses with your Active MQ
connection values)
<subsystem xmlns="urn:jboss:domain:resource-adapters:5.0">
<resource-adapters>
<resource-adapter id="activemq-rar.rar">
<archive>
activemq-rar-5.11.0.redhat-630262.rar
</archive>
<transaction-support>XATransaction</transaction-support>
<config-property name="Password">
Stack 1 Reference Architecture. Red Hat - JBoss Customer Runbook
admin
</config-property>
<config-property name="UserName">
admin
</config-property>
<config-property name="ServerUrl">
failover:(tcp://10.42.17.20:61616?jms.rmIdFromConnectionId=true&soLinger=0,t
cp://10.42.17.21:61616?jms.rmIdFromConnectionId=true&soLinger=0)
</config-property>
<connection-definitions>
<connection-definition class-
name="org.apache.activemq.ra.ActiveMQManagedConnectionFactory" jndi-
name="java:/ConnectionFactory" enabled="true" pool-name="ConnectionFactory">
<xa-pool>
<min-pool-size>1</min-pool-size>
<max-pool-size>20</max-pool-size>
<prefill>false</prefill>
<is-same-rm-override>false</is-same-rm-
override>
</xa-pool>
<recovery>
<recover-credential>
<user-name>admin</user-name>
<password>admin</password>
</recover-credential>
</recovery>
</connection-definition>
</connection-definitions>
<admin-objects>
<admin-object class-
name="org.apache.activemq.command.ActiveMQQueue" jndi-
name="java:/queue/t24BROWSERQueue" use-java-context="true" pool-
name="t24BROWSERQueue">
<config-property name="PhysicalName">
t24BROWSERQueue
</config-property>
</admin-object>
<admin-object class-
name="org.apache.activemq.command.ActiveMQQueue" jndi-
name="java:/queue/t24OFSQueue" use-java-context="true" pool-name="t24OFSQueue">
<config-property name="PhysicalName">
Stack 1 Reference Architecture. Red Hat - JBoss Customer Runbook
t24OFSQueue
</config-property>
</admin-object>
<admin-object class-
name="org.apache.activemq.command.ActiveMQQueue" jndi-
name="java:/queue/t24OFSReplyQueue" use-java-context="true" pool-
name="t24OFSReplyQueue">
<config-property name="PhysicalName">
t24OFSReplyQueue
</config-property>
</admin-object>
<admin-object class-
name="org.apache.activemq.command.ActiveMQQueue" jndi-
name="java:/queue/t24BROWSERReplyQueue" use-java-context="true" pool-
name="t24BROWSERReplyQueue">
<config-property name="PhysicalName">
t24BROWSERReplyQueue
</config-property>
</admin-object>
</admin-objects>
</resource-adapter>
</resource-adapters>
</subsystem>
vi $JBOSS_HOME/domain/configuration/host-slave.xml
<servers>
<server name="server-one" group="main-server-group"/>
<server name="server-two" group="other-server-group">
Stack 1 Reference Architecture. Red Hat - JBoss Customer Runbook
Note: You need to customize your JVM heap size according to your server capacity.
<servers>
<server name="t24-server-one-WEB" group="t24-server-group-WEB"
auto-start="true">
<jvm name="t24-server-one-WEB" debug-enabled="false">
<heap size="8192m" max-size="8192m"/>
<jvm-options>
<option value="-Djboss.tx.node.id=t24-server-one-WEB"/>
</jvm-options>
</jvm>
</server>
</servers>
<servers>
<server name="t24-server-two-WEB" group="t24-server-group-WEB"
auto-start="true">
<jvm name="t24-server-two-WEB" debug-enabled="false">
<heap size="8192m" max-size="8192m"/>
<jvm-options>
<option value="-Djboss.tx.node.id=t24-server-two-WEB"/>
</jvm-options>
</jvm>
</server>
</servers>
4. Click the Runtime tab and click the server group t24-server-group-WEB. Servers t24-server-
one-WEB on slave server 1 and sever t24-server-two-WEB appear on the page.
A wizard opens.
3. Click Next.
5. Click Finish.
4. Click Finish.
BrowserWeb.war has been saved to the repository.
5. Select the BrowserWeb.war row and click Assign.
Stack 1 Reference Architecture. Red Hat - JBoss Customer Runbook
The browser war file has been assigned to the t24-server-group-WEB group.
8. Once you are logged in, this means that the BrowserWeb.war file has been deployed successfully.
Stack 1 Reference Architecture. Red Hat - JBoss Customer Runbook
Stack 1 Reference Architecture. Red Hat - JBoss Customer Runbook
6 Appendix
<?xml version="1.0"?>
<jboss:ejb-jar xmlns:jboss="http://www.jboss.com/xml/ns/javaee"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance"
xmlns:p="urn:ejb-pool:1.0" xmlns:tx="urn:trans-timeout" xmlns:mdb="urn:resource-adapter-
binding"
xmlns:jee="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee
http://www.jboss.org/j2ee/schema/jboss-ejb3-2_0.xsd
http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-
jar_3_1.xsd
urn:trans-timeout http://www.jboss.org/j2ee/schema/trans-timeout-1_0.xsd">
<enterprise-beans>
<message-driven>
<ejb-name>OFSTransactedMDB</ejb-name>
<activation-config>
<activation-config-property>
<activation-config-property-name>destinationType</activation-config-
property-name>
<activation-config-property-value>javax.jms.Queue</activation-config-
property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>destination</activation-config-
property-name>
<activation-config-property-value>t24OFSQueue</activation-config-
property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>maxSession</activation-config-
property-name>
<activation-config-property-value>20</activation-config-property-
value>
</activation-config-property>
Stack 1 Reference Architecture. Red Hat - JBoss Customer Runbook
</activation-config>
<resource-ref>
<res-ref-name>jms/TAFJQueueConnectionFactory</res-ref-name>
<res-type>javax.jms.ConnectionFactory</res-type>
<jndi-name>java:/JmsXA</jndi-name>
</resource-ref>
<message-destination-ref>
<message-destination-ref-name>jms/ReplyQueue</message-destination-ref-name>
<jndi-name>java:/queue/t24OFSReplyQueue</jndi-name>
</message-destination-ref>
</message-driven>
<message-driven>
<ejb-name>BROWSERTransactedMDB</ejb-name>
<activation-config>
<activation-config-property>
<activation-config-property-name>destinationType</activation-config-
property-name>
<activation-config-property-value>javax.jms.Queue</activation-config-
property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>destination</activation-config-
property-name>
<activation-config-property-value>t24BROWSERQueue</activation-config-
property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>maxSession</activation-config-
property-name>
<activation-config-property-value>20</activation-config-property-
value>
</activation-config-property>
</activation-config>
<resource-ref>
<res-ref-name>jms/TAFJQueueConnectionFactory</res-ref-name>
<res-type>javax.jms.ConnectionFactory</res-type>
<jndi-name>java:/JmsXA</jndi-name>
</resource-ref>
<message-destination-ref>
<message-destination-ref-name>jms/ReplyQueue</message-destination-ref-name>
<jndi-name>java:/queue/t24BROWSERReplyQueue</jndi-name>
</message-destination-ref>
</message-driven>
Stack 1 Reference Architecture. Red Hat - JBoss Customer Runbook
<message-driven>
<ejb-name>ARCMOBTransactedMDB</ejb-name>
<activation-config>
<activation-config-property>
<activation-config-property-name>destinationType</activation-config-
property-name>
<activation-config-property-value>javax.jms.Queue</activation-config-
property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>destination</activation-config-
property-name>
<activation-config-property-value>t24ARCMOBQueue</activation-config-
property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>maxSession</activation-config-
property-name>
<activation-config-property-value>20</activation-config-property-
value>
</activation-config-property>
</activation-config>
<resource-ref>
<res-ref-name>jms/TAFJQueueConnectionFactory</res-ref-name>
<res-type>javax.jms.ConnectionFactory</res-type>
<jndi-name>java:/JmsXA</jndi-name>
</resource-ref>
<message-destination-ref>
<message-destination-ref-name>jms/ReplyQueue</message-destination-ref-name>
<jndi-name>java:/queue/t24ARCMOBReplyQueue</jndi-name>
</message-destination-ref>
</message-driven>
<message-driven>
<ejb-name>TWSTransactedMDB</ejb-name>
<activation-config>
<activation-config-property>
<activation-config-property-name>destinationType</activation-config-
property-name>
<activation-config-property-value>javax.jms.Queue</activation-config-
property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>destination</activation-config-
property-name>
Stack 1 Reference Architecture. Red Hat - JBoss Customer Runbook
<activation-config-property-value>t24TWSQueue</activation-config-
property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>maxSession</activation-config-
property-name>
<activation-config-property-value>20</activation-config-property-
value>
</activation-config-property>
</activation-config>
<resource-ref>
<res-ref-name>jms/TAFJQueueConnectionFactory</res-ref-name>
<res-type>javax.jms.ConnectionFactory</res-type>
<jndi-name>java:/JmsXA</jndi-name>
</resource-ref>
<message-destination-ref>
<message-destination-ref-name>jms/ReplyQueue</message-destination-ref-name>
<jndi-name>java:/queue/t24TWSReplyQueue</jndi-name>
</message-destination-ref>
</message-driven>
<message-driven>
<ejb-name>TCIBTransactedMDB</ejb-name>
<activation-config>
<activation-config-property>
<activation-config-property-name>destinationType</activation-config-
property-name>
<activation-config-property-value>javax.jms.Queue</activation-config-
property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>destination</activation-config-
property-name>
<activation-config-property-value>t24TCIBQueue</activation-config-
property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>maxSession</activation-config-
property-name>
<activation-config-property-value>20</activation-config-property-
value>
</activation-config-property>
</activation-config>
<resource-ref>
<res-ref-name>jms/TAFJQueueConnectionFactory</res-ref-name>
<res-type>javax.jms.ConnectionFactory</res-type>
Stack 1 Reference Architecture. Red Hat - JBoss Customer Runbook
<jndi-name>java:/JmsXA</jndi-name>
</resource-ref>
<message-destination-ref>
<message-destination-ref-name>jms/ReplyQueue</message-destination-ref-name>
<jndi-name>java:/queue/t24TCIBReplyQueue</jndi-name>
</message-destination-ref>
</message-driven>
<message-driven>
<ejb-name>TCIBCORPTransactedMDB</ejb-name>
<activation-config>
<activation-config-property>
<activation-config-property-name>destinationType</activation-config-
property-name>
<activation-config-property-value>javax.jms.Queue</activation-config-
property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>destination</activation-config-
property-name>
<activation-config-property-value>t24TCIBCORPQueue</activation-
config-property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>maxSession</activation-config-
property-name>
<activation-config-property-value>20</activation-config-property-
value>
</activation-config-property>
</activation-config>
<resource-ref>
<res-ref-name>jms/TAFJQueueConnectionFactory</res-ref-name>
<res-type>javax.jms.ConnectionFactory</res-type>
<jndi-name>java:/JmsXA</jndi-name>
</resource-ref>
<message-destination-ref>
<message-destination-ref-name>jms/ReplyQueue</message-destination-ref-name>
<jndi-name>java:/queue/t24TCIBCORPReplyQueue</jndi-name>
</message-destination-ref>
</message-driven>
<message-driven>
<ejb-name>TCIBWEALTHTransactedMDB</ejb-name>
<activation-config>
<activation-config-property>
Stack 1 Reference Architecture. Red Hat - JBoss Customer Runbook
<activation-config-property-name>destinationType</activation-config-
property-name>
<activation-config-property-value>javax.jms.Queue</activation-config-
property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>destination</activation-config-
property-name>
<activation-config-property-value>t24TCIBWEALTHQueue</activation-
config-property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>maxSession</activation-config-
property-name>
<activation-config-property-value>20</activation-config-property-
value>
</activation-config-property>
</activation-config>
<resource-ref>
<res-ref-name>jms/TAFJQueueConnectionFactory</res-ref-name>
<res-type>javax.jms.ConnectionFactory</res-type>
<jndi-name>java:/JmsXA</jndi-name>
</resource-ref>
<message-destination-ref>
<message-destination-ref-name>jms/ReplyQueue</message-destination-ref-name>
<jndi-name>java:/queue/t24TCIBWEALTHReplyQueue</jndi-name>
</message-destination-ref>
</message-driven>
<message-driven>
<ejb-name>CallAtTransactedMDB</ejb-name>
<activation-config>
<activation-config-property>
<activation-config-property-name>destinationType</activation-config-
property-name>
<activation-config-property-value>javax.jms.Queue</activation-config-
property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>destination</activation-config-
property-name>
<activation-config-property-value>t24CALLATQueue</activation-config-
property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>maxSession</activation-config-
property-name>
Stack 1 Reference Architecture. Red Hat - JBoss Customer Runbook
<activation-config-property-value>20</activation-config-property-
value>
</activation-config-property>
</activation-config>
<resource-ref>
<res-ref-name>jms/TAFJQueueConnectionFactory</res-ref-name>
<res-type>javax.jms.ConnectionFactory</res-type>
<jndi-name>java:/JmsXA</jndi-name>
</resource-ref>
<message-destination-ref>
<message-destination-ref-name>jms/ReplyQueue</message-destination-ref-name>
<jndi-name>java:/queue/t24CALLATReplyQueue</jndi-name>
</message-destination-ref>
</message-driven>
<message-driven>
<ejb-name>AMLTransactedMDB</ejb-name>
<activation-config>
<activation-config-property>
<activation-config-property-name>destinationType</activation-config-
property-name>
<activation-config-property-value>javax.jms.Queue</activation-config-
property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>destination</activation-config-
property-name>
<activation-config-property-value>t24AMLQueue</activation-config-
property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>maxSession</activation-config-
property-name>
<activation-config-property-value>20</activation-config-property-
value>
</activation-config-property>
</activation-config>
<resource-ref>
<res-ref-name>jms/TAFJQueueConnectionFactory</res-ref-name>
<res-type>javax.jms.ConnectionFactory</res-type>
<jndi-name>java:/JmsXA</jndi-name>
</resource-ref>
<message-destination-ref>
<message-destination-ref-name>jms/ReplyQueue</message-destination-ref-name>
<jndi-name>java:/queue/t24AMLReplyQueue</jndi-name>
Stack 1 Reference Architecture. Red Hat - JBoss Customer Runbook
</message-destination-ref>
</message-driven>
<message-driven>
<ejb-name>TPSTransactedMDB</ejb-name>
<activation-config>
<activation-config-property>
<activation-config-property-name>destinationType</activation-config-
property-name>
<activation-config-property-value>javax.jms.Queue</activation-config-
property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>destination</activation-config-
property-name>
<activation-config-property-value>t24AMLQueue</activation-config-
property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>maxSession</activation-config-
property-name>
<activation-config-property-value>20</activation-config-property-
value>
</activation-config-property>
</activation-config>
<resource-ref>
<res-ref-name>jms/TAFJQueueConnectionFactory</res-ref-name>
<res-type>javax.jms.ConnectionFactory</res-type>
<jndi-name>java:/JmsXA</jndi-name>
</resource-ref>
<message-destination-ref>
<message-destination-ref-name>jms/ReplyQueue</message-destination-ref-name>
<jndi-name>java:/queue/t24TPSReplyQueue</jndi-name>
</message-destination-ref>
</message-driven>
<message-driven>
<ejb-name>SEATTransactedMDB</ejb-name>
<activation-config>
<activation-config-property>
<activation-config-property-name>destinationType</activation-config-
property-name>
<activation-config-property-value>javax.jms.Queue</activation-config-
property-value>
</activation-config-property>
Stack 1 Reference Architecture. Red Hat - JBoss Customer Runbook
<activation-config-property>
<activation-config-property-name>destination</activation-config-
property-name>
<activation-config-property-value>t24SEATQueue</activation-config-
property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>maxSession</activation-config-
property-name>
<activation-config-property-value>20</activation-config-property-
value>
</activation-config-property>
</activation-config>
<resource-ref>
<res-ref-name>jms/TAFJQueueConnectionFactory</res-ref-name>
<res-type>javax.jms.ConnectionFactory</res-type>
<jndi-name>java:/JmsXA</jndi-name>
</resource-ref>
<message-destination-ref>
<message-destination-ref-name>jms/ReplyQueue</message-destination-ref-name>
<jndi-name>java:/queue/t24SEATReplyQueue</jndi-name>
</message-destination-ref>
</message-driven>
<message-driven>
<ejb-name>TAFJPhantomListenerMDB</ejb-name>
<activation-config>
<activation-config-property>
<activation-config-property-name>destinationType</activation-config-
property-name>
<activation-config-property-value>javax.jms.Queue</activation-config-
property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>destination</activation-config-
property-name>
<activation-config-property-
value>java:/queue/t24EXECQueue</activation-config-property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>maxSession</activation-config-
property-name>
<activation-config-property-value>20</activation-config-property-
value>
</activation-config-property>
<!-- to be used when a remote jca adapter is defined to have local scope
Stack 1 Reference Architecture. Red Hat - JBoss Customer Runbook
<res-type>javax.jms.ConnectionFactory</res-type>
<jndi-name>java:/ConnectionFactory</jndi-name>
</resource-ref>
<resource-ref>
<res-ref-name>jms/t24EXECQueue</res-ref-name>
<res-type>javax.jms.Queue</res-type>
<jndi-name>java:/queue/t24EXECQueue</jndi-name>
</resource-ref>
<resource-ref>
<res-ref-name>jdbc/t24DataSource</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<jndi-name>java:/jdbc/t24DS</jndi-name>
</resource-ref>
<resource-ref>
<res-ref-name>jdbc/t24RODataSource</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<jndi-name>java:/jdbc/t24RODS</jndi-name>
</resource-ref>
<resource-ref>
<res-ref-name>jdbc/t24LockingDataSource</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<jndi-name>java:/jdbc/t24LockingDS</jndi-name>
</resource-ref>
<resource-ref>
<res-ref-name>jms/TopicConnectionFactory</res-ref-name>
<res-type>javax.jms.ConnectionFactory</res-type>
<jndi-name>java:/ConnectionFactory</jndi-name>
</resource-ref>
<resource-ref>
Stack 1 Reference Architecture. Red Hat - JBoss Customer Runbook
<res-ref-name>jms/tecEventsTopic</res-ref-name>
<res-type>javax.jms.Queue</res-type>
<jndi-name>java:/topic/tecEventsTopic</jndi-name>
</resource-ref>
</message-driven>
</enterprise-beans>
<assembly-descriptor>
<!-- Custom resource adapter example <mdb:resource-adapter-binding> <jee:ejb-
name>OFSTransactedMDB</jee:ejb-name>
<mdb:resource-adapter-name>hornetq-ra</mdb:resource-adapter-name> </mdb:resource-
adapter-binding> -->
<mdb:resource-adapter-binding>
<jee:ejb-name>TAFJPhantomListenerMDB</jee:ejb-name>
<mdb:resource-adapter-name>activemq-ra</mdb:resource-adapter-name>
</mdb:resource-adapter-binding>
<p:pool>
<ejb-name>OFSTransactedMDB</ejb-name>
<p:bean-instance-pool-ref>ofs-mdb-strict-max-pool
</p:bean-instance-pool-ref>
</p:pool>
<p:pool>
<ejb-name>BROWSERTransactedMDB</ejb-name>
<p:bean-instance-pool-ref>browser-mdb-strict-max-pool
</p:bean-instance-pool-ref>
</p:pool>
<p:pool>
<ejb-name>ARCMOBTransactedMDB</ejb-name>
<p:bean-instance-pool-ref>arcmob-mdb-strict-max-pool
</p:bean-instance-pool-ref>
</p:pool>
<p:pool>
<ejb-name>TWSTransactedMDB</ejb-name>
<p:bean-instance-pool-ref>tws-mdb-strict-max-pool
</p:bean-instance-pool-ref>
</p:pool>
<p:pool>
<ejb-name>TCIBTransactedMDB</ejb-name>
<p:bean-instance-pool-ref>tcib-mdb-strict-max-pool
</p:bean-instance-pool-ref>
</p:pool>
<p:pool>
Stack 1 Reference Architecture. Red Hat - JBoss Customer Runbook
<ejb-name>TCIBCORPTransactedMDB</ejb-name>
<p:bean-instance-pool-ref>tcibcorp-mdb-strict-max-pool
</p:bean-instance-pool-ref>
</p:pool>
<p:pool>
<ejb-name>AMLTransactedMDB</ejb-name>
<p:bean-instance-pool-ref>aml-mdb-strict-max-pool
</p:bean-instance-pool-ref>
</p:pool>
<p:pool>
<ejb-name>TPSTransactedMDB</ejb-name>
<p:bean-instance-pool-ref>tps-mdb-strict-max-pool
</p:bean-instance-pool-ref>
</p:pool>
<p:pool>
<ejb-name>TCIBWEALTHTransactedMDB</ejb-name>
<p:bean-instance-pool-ref>tcibwealth-mdb-strict-max-pool
</p:bean-instance-pool-ref>
</p:pool>
<p:pool>
<ejb-name>CallAtTransactedMDB</ejb-name>
<p:bean-instance-pool-ref>callat-mdb-strict-max-pool
</p:bean-instance-pool-ref>
</p:pool>
<p:pool>
<ejb-name>SEATTransactedMDB</ejb-name>
<p:bean-instance-pool-ref>seat-mdb-strict-max-pool
</p:bean-instance-pool-ref>
</p:pool>
<p:pool>
<ejb-name>TAFJPhantomListenerMDB</ejb-name>
<p:bean-instance-pool-ref>phantom-mdb-strict-max-pool
</p:bean-instance-pool-ref>
</p:pool>
</assembly-descriptor>
</jboss:ejb-jar>