JBoss EAP 7 Configuration for Temenos Transact Solution with TAFJ
This section details the memory and environment settings that you require to configure JBoss for Temenos Transact with TAFJ.
Default Memory Setup
The default memory setting (for JDK 1.7) is set "JAVA_OPTS=-Xms1G –Xmx2G -XX:MaxPermSize=450M".
If you want to change this parameter, then you need to modify it under:
- Windows: JBOSS_HOME/bin/standalone.conf.bat
- Unix: JBOSS_HOME/bin/standalone.conf
set "JAVA_OPTS=-Xms1G –Xmx2G"
JAVA_OPTS="-Xms1G –Xmx2G
UAT or Production Memory Setup
A session or tSA memory varies based on the job done. It will be at least 20 MB and can be up to 60 MB. For example, if you run 80 interactive sessions and 40 tSA on a server, then you can maximize the max memory for sessions by applying:
120 sessions * average 50MB = 6G max heap size
You will have -Xmx6G
Below screen capture shows the result for one session.
Below screen capture shows the result for 16 sessions.
You can also use TAFJ technical monitor to monitor the memory evolution graph over the time and refine your setup.

Java heap space
Error: Java.lang.OutOfMemoryError
Solution: Increase -Xmx max_heap_size_parameter
PermGen space
Error: Java.lang.OutOfMemoryError
Solution: Increase -XX:MaxPermSize max perm gen parameter

It is very common for a large application to face out of memory error which, in turn, results in the application crash. It is a very critical scenario and very hard to replicate to troubleshoot the issue. Therefore, JVM comes with some parameters which dump heap memory into a physical file which can be used later for finding out leaks:
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=./java_pid<pid>.hprof
-XX:OnOutOfMemoryError="< cmd args >;< cmd args >"
-XX:+UseGCOverheadLimit
Below are the parameter description used in the above setting:
- HeapDumpOnOutOfMemoryError instructs the JVM to dump heap into physical file in case of OutOfMemoryError.
- HeapDumpPath denotes the path where the file is to be written; any filename can be given; however, if JVM finds a <pid> tag in the name, the process ID of the current process causing the out of memory error will be appended to the file name with .hprof format.
- OnOutOfMemoryError is used to issue emergency commands to be executed in case of out of memory error. Proper command should be used in the space of cmd args. For example, if you want to restart the server as soon as out of memory occur, you can set the parameter:
-XX:OnOutOfMemoryError="shutdown -r"
- UseGCOverheadLimit is a policy that limits the proportion of the VM's time that is spent in GC before an OutOfMemory error is thrown.
Environment Setup
You can setup the environment in the same configuration file (standalone.conf.bat or standalone.conf) that you used to allocate memory depending on your platform.
You need to set the following:
- TAFJ_HOME definition - -Dtafj.home=%TAFJ_HOME%
- File encoding - -Dfile.encoding=UTF-8
set "JAVA_OPTS=%JAVA_OPTS% -Dtafj.home=%TAFJ_HOME% -Dfile.encoding=UTF-8
Optional settings:
- Port offset if you don’t 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
set "JAVA_OPTS=%JAVA_OPTS% -DARC_CONFIG_PATH=%JBOSS_HOME%\BrowserSecurity\sso.config -DARC_CONFIG_APP_NAME=SPNEGO -Dtafj.home=%TAFJ_HOME% -Djboss.socket.binding.port-offset=1009 -Dfile.encoding=UTF-8 -Djboss.node.name=node1"
In this topic