Tafj-As Jbossinstall v6.4 Eap
Tafj-As Jbossinstall v6.4 Eap
Tafj-As Jbossinstall v6.4 Eap
Amendment History:
Revisio
Date Amended Name Description
n
1 15th January 2014 JN. Charpin Initial version
13th February
2 JN. Charpin R14 GA Review
2014
5 5th February 2015 JN.Charpin Memory JVM setting for UAT production env.
9th December
7 JN. Charpin Module review
2015
Page 2
TAFJ-AS JBo s s i n s t all 6 . 4 EAP
Copyri g h t
Copyright (c) 2014 TEMENOS HOLDINGS NV
All rights reserved.
This document contains proprietary information that is protected by copyright. No part of this document may
be reproduced, transmitted, or made available directly or indirectly to a third party without the express
written agreement of TEMENOS UK Limited. Receipt of this material directly TEMENOS UK Limited
constitutes its express permission to copy. Permission to use or copy this document expressly excludes
modifying it for any purpose, or using it to create a derivative therefrom.
Temenos Headquarters SA
2 Rue de lEcole-de-Chimie,
CH - 1205 Geneva,
Switzerland
Please include your name, company, address, and telephone and fax numbers, and email
address if applicable. [email protected]
Page 3
TAFJ-AS JBo s s i n s t all 6 . 4 EAP
Table of Contents
Copyright................................................................................................................................................ 3
Errata and Comments............................................................................................................................ 3
T24 Java deployment in JBoss EAP 6.x.0 EAP......................................................................................6
Infrastructure....................................................................................................................... 6
JBoss Installation.................................................................................................................................... 7
Prerequisite............................................................................................................................................ 7
Start JBoss............................................................................................................................................. 8
JBoss EAP 6.4.0 configuration for T24 solution with TAFJ.....................................................................9
Default Memory setting........................................................................................................9
UAT / Production Memory setting........................................................................................9
Environment setting...........................................................................................................11
Modules deployment............................................................................................................................ 13
TAFJ Module deployment..................................................................................................13
T24 Modules deployment..................................................................................................14
T24 module.xml generation helper....................................................................................15
Database Driver Module deployment.................................................................................16
New standalone context....................................................................................................................... 17
New standalone context with cli command........................................................................17
New standalone context with predefine xml context..........................................................18
Library setting................................................................................................................18
Data sources setting......................................................................................................18
JMS Settings..................................................................................................................20
TAFJ Application deployment............................................................................................................... 22
tDiag Servlet.................................................................................................................. 23
tShow Servlet................................................................................................................. 24
Execute Servlet.............................................................................................................. 25
Other TAFJEE functionalities.........................................................................................25
T24 Application deployment................................................................................................................. 26
BROWSER Application.....................................................................................................26
Verify deployment................................................................................................................................. 26
JVM Monitoring..................................................................................................................27
Environment settings.........................................................................................................28
Page 4
TAFJ-AS JBo s s i n s t all 6 . 4 EAP
Page 5
TAFJ-AS JBo s s i n s t all 6 . 4 EAP
Infra s t r u c t u r e
Page 6
TAFJ-AS JBo s s i n s t all 6 . 4 EAP
JBos s Inst a l l a t i o n
This document presents TAFJ deployment for JBoss versions 6.3.0 EAP
Unzip it to a directory.
This document covers a standalone installation and is a quick guide to deploy T24 / TAFJ.
https://docs.jboss.org/author/display/AS7/Documentation
Prer e q u i s i t e
T24 precompiled jar files have to be in a folder that we call in the document T24_HOME.
Before configure JBoss with TAFJ/T24, check your standalone installation is working.
Page 7
TAFJ-AS JBo s s i n s t all 6 . 4 EAP
Start JBos s
To run the full J2EE profile you will need to use at least a standalone-full profile.
If you define your own profile, please adapt the script above to provide as --server-config
argument your profile name.
This profile refers to a configuration file which we will configure in the next steps, located
under JBOSS_HOME/standalone/configuration.
If you define your own profile you will have to copy and rename the standalone-full.xml file.
set PATH=%PATH%;%JBOSS_HOME%\bin;
cd %JBOSS_HOME%/bin
Page 8
TAFJ-AS JBo s s i n s t all 6 . 4 EAP
Defa u l t Me m o r y se t t i n g
The default memory setting (for JDK 1.7, in JDK 1.8 -XX:MaxPermSize doent exist) is
If you need to tune this parameter, you will have to modify it under:
- Windows : JBOSS_HOME/bin/standalone.conf.bat
- UNIX: JBOSS_HOME/bin/standalone.conf
For a UAT and production environment you must refine this setting depending on your
expected number of sessions and tSA.
A session / tSA memory impact vary depending on the job done, it will be at least 20MB and
could be up to 60MB.
When planning to run for example 80 interactive sessions and 40 tSA on a server, you could
dimension the max memory for sessions by applying:
A good practice could be to set initial heap size to same value -Xms6G
If you are interested to monitor that more precisely, you could use a monitoring tool like
Visual VM.
Page 9
TAFJ-AS JBo s s i n s t all 6 . 4 EAP
Take a heapdump when running the expected jobs, isolate the jSession objects and compute
the retained size.
You could also simply use TAFJ technical monitor to follow the memory evolution graph over
the time and refine your setup.
Keep in mind that you might also need to allocate memory for other application deployed.
Me m o r y err o r s
JVM par a m e t e r s
Snapshot of the heap to analyse the content when getting a OOM error.
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/some/path/
Garbage collection logs, detailed information about Garbage Collection, could be applied as
there is a low overhead, display the amount of memory released
-XX:+PrintGC or -verbose:gc
Page 10
TAFJ-AS JBo s s i n s t all 6 . 4 EAP
-XX:+PrintGCDetails
Same as above but print more details at garbage collection, differs depending
on GC algorithm.
Log GC verbose output to specified file with time and date information
Enviro n m e n t se t t i n g
All environments setting have to be done in the same configuration file than specified for the
memory setting : standalone.conf.bat or standalone.conf depending on your platform.
TAFJ_HOME definition
-Dtafj.home=%TAFJ_HOME%
File encoding
-Dfile.encoding=UTF-8
i.e.
:JAVA_OPTS_SET
Optional
Port offset if you dont want to run with the default ports configuration
-Djboss.socket.binding.port-offset=1009
Node name to use JBoss remoting lookup
-Djboss.node.name=node1
Page 11
TAFJ-AS JBo s s i n s t all 6 . 4 EAP
i.e.
:JAVA_OPTS_SET
Page 12
TAFJ-AS JBo s s i n s t all 6 . 4 EAP
Mod u l e s depl o y m e n t
TAFJ Mod u l e de pl o y m e n t
Please note this module.xml file is a sample to help you to configure your libraries.
Its purpose is to declare the jar files you want to deploy and the dependencies you need to
define on other modules.
This sample, see below, contains a dependency on a user defined oracle drivers
module.
If you dont use oracle database or other oracle drivers version you will have to remove this
dependency and add the dependency corresponding to the database driver module you want
to use.
Dont change the javax dependencies unless you know exactly what you are doing.
Page 13
TAFJ-AS JBo s s i n s t all 6 . 4 EAP
<resource-root path="/lib/log4j.jar"/>
<resource-root path="/lib/T24CollectorClient.jar"/>
<resource-root path="/lib/TAFJClient.jar"/>
<resource-root path="/lib/TAFJCommon.jar"/>
<resource-root path="/lib/TAFJCompiler.jar"/>
<resource-root path="/lib/TAFJCore.jar"/>
<resource-root path="/lib/TAFJLocking.jar"/>
<resource-root path="/lib/TAFJTelnetD.jar"/>
<resource-root path="/lib/TAFJVersion.jar"/>
<resource-root path="/ext/TAFJBASIC.jar"/>
<resource-root path="/ext/tComponentFramework.jar"/>
</resources>
<dependencies>
<module name="com.temenos.t24"/>
<module name="com.oracle.12c"/>
<module name="javax.api"/>
<module name="javaee.api"/>
<module name="javax.jms.api"/>
</dependencies>
</module>
Page 14
TAFJ-AS JBo s s i n s t all 6 . 4 EAP
As the module.xml generation could be very tedious for T24, you could use a TAFJ tool to
generate it.
Please do not use this tool to generate the TAFJ module as some libraries under
TAFJ_HOME/ext must not be added to Jboss classpath.
This helper, will create the module.xml file in the destination path. It wont generate
the module.xml dependencies section, you will have to add the correct dependencies
for your module needs. After this is complete, you copy the jars to the
JBOSS_HOME/modules/com/temenos/t24/main directory where the module.xml file is.
Page 15
TAFJ-AS JBo s s i n s t all 6 . 4 EAP
This module will be referenced by the data source, please refer to data source section.
Please note this module.xml file is a sample to help you to configure your driver module.
Dont change the javax dependencies unless you know exactly what you are doing.
You have to use the drivers provided with the database. The drivers
under %TAFJ_HOME%\DBDrivers are just helper. We cannot
guaranty the drivers we provide with TAFJ are working with the
specific database version you are using.
Page 16
TAFJ-AS JBo s s i n s t all 6 . 4 EAP
Ne w sta n d a l o n e co n t e x t
You can copy and rename the existing configuration file, the name of the context is given by
the name of the xml file
i.e for H2
############################################################
# Path details
#
TAFJ_HOME=D:\Temenos\Reference\Temenos\TAFJ
############################################################
# database details
#
DB_URL=jdbc:h2:tcp://localhost/T24
DB_DRIVER=h2
DB_USER=mbtafj
DB_PWD=mbtafj
<!-- whether to resolve system properties specified as command argument or operation parameter
values in the CLI VM before sending the operation requests to the controller -->
<resolve-parameter-values>true</resolve-parameter-values>
Page 17
TAFJ-AS JBo s s i n s t all 6 . 4 EAP
pserver\jboss\jboss6eap\jboss-cli\T24Setup.cli --properties=
TAFJ_HOME\appserver\jboss\jboss6eap\jboss
-cli\tafj.properties
Library set t i n g
This section doesnt cover the classloading mechanism in JBoss EAP 6, we strongly
recommend referring to following documentation to understand how the libraries are getting
loaded and dependencies are managed.
https://docs.jboss.org/author/display/AS7/Class+Loading+in+AS7
TAFJ libraries and T24 libraries are being deployed as global modules to allow all
applications deployed within the server deployment folder to access them.
To reference these global modules you have to modify your main configuration file, i.e.
JBOSS_HOME\standalone\configuration\standalone-full.xml
Add in the following section the T24 and TAFJ modules declaration.
<subsystem xmlns="urn:jboss:domain:ee:1.0">
<global-modules>
<module name="com.temenos.tafj" slot="main"/>
<module name="com.temenos.t24" slot="main"/>
</global-modules>
</subsystem>
Data so u r c e s set ti n g
Take as an example the file TAFJ_HOME\appserver\jboss\jboss7\standalone-full.xml
2. second for TAFJ locking datasource when using locking mode JDBC or ORCL (this
datasource is in autocommit mode and is not transactional).
The data source section to be added and configured is the following for the T24 DS.
Page 18
TAFJ-AS JBo s s i n s t all 6 . 4 EAP
<connection-url>jdbc:oracle:thin:@localhost:1521:TAFJDB</connection-url>
<driver>ora11g</driver>
<pool>
<prefill>false</prefill>
<use-strict-min>false</use-strict-min>
<flush-strategy>FailingConnectionOnly</flush-strategy>
</pool>
<security>
<user-name>tafj</user-name>
<password>secret</password>
</security>
<validation>
<validate-on-match>false</validate-on-match>
<background-validation>false</background-validation>
<use-fast-fail>false</use-fast-fail>
</validation>
</datasource>
The data source section to be added and configured is the following for the T24 locking DS.
Please note that these data sources refer to the module corresponding to your driver.
i.e for oracle.
<driver>ora11g</driver>
Thus you should add in the driver section a reference to this module and to the
corresponding driver class that you want to use.
Please note the attribute jta="false" in the locking datasource header to flag it as non-
transactional.
Page 19
TAFJ-AS JBo s s i n s t all 6 . 4 EAP
JMS Set ti n g s
We will configure in this section JMS resources:
(1) default JMS queues used for Temenos products in reply/request patern,
1. BROWSER,
2. ARC-IB,
3. TWS
4. SEAT injection,
5. CALL_AT subroutine,
Page 20
TAFJ-AS JBo s s i n s t all 6 . 4 EAP
</jms-queue>
<jms-queue name="t24TCIBQueue">
<entry name="queue/t24TCIBQueue"/>
<entry name="java:jboss/exported/jms/queue/t24TCIBQueue"/>
</jms-queue>
<jms-queue name="t24TCIBReplyQueue">
<entry name="queue/t24TCIBReplyQueue"/>
<entry name="java:jboss/exported/jms/queue/t24TCIBReplyQueue"/>
</jms-queue>
<jms-queue name="t24TCIBCORPQueue">
<entry name="queue/t24TCIBCORPQueue"/>
<entry name="java:jboss/exported/jms/queue/t24TCIBCORPQueue"/>
</jms-queue>
<jms-queue name="t24TCIBCORPReplyQueue">
<entry name="queue/t24TCIBCORPReplyQueue"/>
<entry name="java:jboss/exported/jms/queue/t24TCIBCORPReplyQueue"/>
</jms-queue>
<jms-queue name="t24TCIBWEALTHQueue">
<entry name="queue/t24TCIBWEALTHQueue"/>
<entry name="java:jboss/exported/jms/queue/t24TCIBWEALTHQueue"/>
</jms-queue>
<jms-queue name="t24TCIBWEALTHReplyQueue">
<entry name="queue/t24TCIBWEALTHReplyQueue"/>
<entry name="java:jboss/exported/jms/queue/t24TCIBWEALTHReplyQueue"/>
</jms-queue>
<jms-queue name="t24CALLATQueue">
<entry name="queue/t24CALLATQueue"/>
<entry name="java:jboss/exported/jms/queue/t24CALLATQueue"/>
</jms-queue>
<jms-queue name="t24CALLATReplyQueue">
<entry name="queue/t24CALLATReplyQueue"/>
<entry name="java:jboss/exported/jms/queue/t24CALLATReplyQueue"/>
</jms-queue>
<jms-queue name="t24AMLQueue">
<entry name="queue/t24AMLQueue"/>
<entry name="java:jboss/exported/jms/queue/t24AMLQueue"/>
</jms-queue>
<jms-queue name="t24AMLReplyQueue">
<entry name="queue/t24AMLReplyQueue"/>
<entry name="java:jboss/exported/jms/queue/t24AMLReplyQueue"/>
</jms-queue>
<jms-queue name="t24SEATQueue">
<entry name="queue/t24SEATQueue"/>
<entry name="java:jboss/exported/jms/queue/t24SEATQueue"/>
</jms-queue>
<jms-queue name="t24SEATReplyQueue">
<entry name="queue/t24SEATReplyQueue"/>
<entry name="java:jboss/exported/jms/queue/t24SEATReplyQueue"/>
</jms-queue>
<jms-queue name="t24EXECQueue">
<entry name="queue/t24EXECQueue"/>
<entry name="java:jboss/exported/jms/queue/t24EXECQueue"/>
</jms-queue>
<jms-topic name="tecEventsTopic">
<entry name="topic/tecEventsTopic"/>
<entry name="java:jboss/exported/jms/topic/tecEventsTopic"/>
</jms-topic>
</jms-destinations>
<entry name="queue/t24OFSQueue"/>
<entry name="java:jboss/exported/jms/queue/t24OFSQueue"/>
Page 21
TAFJ-AS JBo s s i n s t all 6 . 4 EAP
Allows to access the queue remotely from an external standalone client for example.
Page 22
TAFJ-AS JBo s s i n s t all 6 . 4 EAP
http://localhost:8080/TAFJEE
Page 23
TAFJ-AS JBo s s i n s t all 6 . 4 EAP
tDia g Servl e t
TAFJJEE_WAR_TAFJ contains a servlet which could be used to get details about TAFJ
installation
http://localhost:8080/TAFJEE/tDiag
i.e.
Page 24
TAFJ-AS JBo s s i n s t all 6 . 4 EAP
tS h o w Servl e t
TAFJJEE_WAR_TAFJ contains a servlet which could be used to get compilation details
about a specific routine
http://localhost:8080/TAFJEE/tShow
i.e.
Page 25
TAFJ-AS JBo s s i n s t all 6 . 4 EAP
Exe c u t e Servl e t
TAFJJEE_WAR_TAFJ contains a servlet which could be used to post message to the JMS
queue t24ExeqQueue.
http://localhost:8080/TAFJEE/Execute
i.e
Remark:
The following properties need to be set correctly to run TAFJ within an application server
context.
temn.tafj.runtime.phantom.as.process = false
Page 26
TAFJ-AS JBo s s i n s t all 6 . 4 EAP
Verify depl o y m e n t
You can verify that you successfully configured all JEE resources by browsing JBoss
administration console.
http://localhost:9990/console
Dont forget to add the port offset if you use one, i.e. if you start with
-Djboss.socket.binding.port-offset=1009
http://localhost:10009/console
If you dont have any existing administration user, run from $JBOSS_HOME/bin:
Page 27
TAFJ-AS JBo s s i n s t all 6 . 4 EAP
Provided the validation passes you will then be asked to confirm you want to add the user and
the properties files will be updated.
For the final question, as this is a user that is going to be accessing the admin console just
answer 'n'.
Once your user has been created you should be able to login.
You could browse and apply change to your configuration and monitor your deployment.
JVM Mo n i t o r i n g
Page 28
TAFJ-AS JBo s s i n s t all 6 . 4 EAP
Enviro n m e n t se t t i n g s
Dat a s o u r c e s co n f i g u r a t i o n pool us a g e
Page 29
TAFJ-AS JBo s s i n s t all 6 . 4 EAP
JMS co n fi g u r a t i o n me s s a g e mo n i t o r i n g
Appli c a t i o n s depl o y e d
Page 30
TAFJ-AS JBo s s i n s t all 6 . 4 EAP
For further information about the administration console please refer to:
https://docs.jboss.org/author/display/AS71/Admin+Guide#AdminGuide-Managementclients
Page 31
TAFJ-AS JBo s s i n s t all 6 . 4 EAP
App e n x i d e s
The standalone configuration file defines the global EJB and MDB thread pool under the
following section:
<subsystem xmlns="urn:jboss:domain:ejb3:1.4">
<session-bean>
<stateless>
<bean-instance-pool-ref pool-name="slsb-strict-max-pool"/>
</stateless>
<stateful default-access-timeout="5000" cache-ref="simple"/>
<singleton default-access-timeout="5000"/>
</session-bean>
<mdb>
<resource-adapter-ref resource-adapter-name="hornetq-ra"/>
<bean-instance-pool-ref pool-name="mdb-strict-max-pool"/>
</mdb>
<pools>
<bean-instance-pools>
<strict-max-pool name="slsb-strict-max-pool" max-pool-size="20"
instance-acquisition-timeout="5" instance-acquisition-timeout-
unit="MINUTES"/>
<strict-max-pool name="mdb-strict-max-pool" max-pool-size="20" instance-
acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
</bean-instance-pools>
</pools>
We can see that there is a global pool and timeout definition for EJBs (slsb-strict-max-pool)
and for MDBs (mdb-strict-max-pool).
To define a custom pool configuration, just add in the above mentioned <bean-instance-
pools> your custom pool definition. You could take as an example the file
TAFJ_HOME\appserver\jboss\jboss7\standalone-full.xml which provides custom pool
examples for MDB and EJB.
<strict-max-pool name="customPoolToBeUsedInEJBDeploymentDescriptorOrAnnotation"
max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-
unit="SECONDS"/>
You will have to bind this pool to your EJB(s) or MDB(s) by adding in your deployment
descriptor the following binding.
i.e:
Page 32
TAFJ-AS JBo s s i n s t all 6 . 4 EAP
<ejb-name>OFSProcessingBean </ejb-name>
<p:bean-instance-pool-ref> customPoolToBeUsedInEJBDeploymentDescriptorOrAnnotation
</p:bean-instance-pool-ref>
</p:pool>
</assembly-descriptor>
This setting will apply the custom pool to the OFSProcessingBean EJB.
Add other binding if you want to setup specific pooling for other EJBs.
Please note that you can apply a binding to all your EJBs by setting the parameter ejb-name
with
<ejb-name>*</ejb-name>
You could have multiple JBoss instance running on same machine by applying a different
port offset for each instance, this way you want have any port conflict.
Simply add the following parameter with your port offset value when starting JBoss.
-Djboss.socket.binding.port-offset=1009
Please refer to the environment setting section if you want to add this parameter to your
JBoss startup configuration file.
Page 33