Sie sind auf Seite 1von 36

TAFJ-S e t u p

R18
TAFJ-S e t u p

Amendment History:

Revisio
Date Amended Name Description
n

1 1st April 2011 TAFJ team Initial version

2 7st February 2012 H. Aubert R12GA review

3 16th January 2013 Manoj Kumar R13GA review

4 15th April 2014 H. Aubert R14GA review

5 6th May 2014 JN. Charpin Logger context

6 10th March 2015 H. Aubert R15 AMR review

7 15th March 2016 M.Kumar R16 AMR review

8 13th May 2016 JN Charpin SLF4J binding

9 17th June 2016 JN Charpin Log4j2 binding

10 3rd August 2016 JN Charpin eclipse link

4th September
11 JN Charpin COMO logger
2017

14th December
12 JN Charpin Properties in DB
2017

Multi-configuration support
13 20th December JN Charpin

29th December
14 Riswana Commit Capture configuration.
2017

Page 2
TAFJ-S e t u p

Vinod
th
15 13 April 2018 Shunmugave Log redirect to Splunk
l

Page 3
TAFJ-S e t u p

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.

Errat a and Com m e n t s


If you have any comments regarding this manual or wish to report any errors in the
documentation, please document them and send them to the address below:
Technology Department

Temenos Headquarters SA
2 Rue de l’Ecole-de-Chimie,
CH - 1205 Geneva,
Switzerland

Tel SB: +41 (0) 22 708 1150


Fax: +41 (0) 22 708 1160

Please include your name, company, address, and telephone and fax numbers, and email
address if applicable. TAFJdev@temenos.com

Page 4
TAFJ-S e t u p

Table of Contents
Copyright................................................................................................................................................ 4
Errata and Comments............................................................................................................................ 4
What is TAFJ.......................................................................................................................................... 7
Overview................................................................................................................................................ 7
Install guide............................................................................................................................................ 8
Prerequisites......................................................................................................................... 8
Java JDK........................................................................................................................... 8
Setup TAFJ............................................................................................................................................ 9
A Step by Step TAFJ Installation......................................................................................... 10
Exploring the Setup result................................................................................................... 11
Setup Eclipse Plug-ins........................................................................................................ 13
Setup project........................................................................................................................................ 14
How it works with properties file and .default........................................................................................ 15
Logger.................................................................................................................................................. 16
Log api customization.......................................................................................................... 16
Default configuration........................................................................................................ 16
Switching log API............................................................................................................. 18
Backward compatibility, keep using log4j 1.2 natively..................................................... 19
Log folders customization.................................................................................................... 20
Logging COMO................................................................................................................... 21
Routing and file appender................................................................................................ 21
Socket appender and routing and file appender.............................................................. 22
Logger context and multi-tenant.......................................................................................... 24
Log redirect for Splunk........................................................................................................ 25
Properties............................................................................................................................................. 26
File configuration................................................................................................................. 26
Database configuration....................................................................................................... 26
Properties............................................................................................................................ 27
Configuration override – multi-configuration....................................................................... 28
Printer................................................................................................................................................... 30
Check TAFJ Installation........................................................................................................................ 31
EarFilebuilder....................................................................................................................................... 32

Page 5
TAFJ-S e t u p

.................................................................................................................................................. 32
Warning : This step is only specific to weblogic application server !.....................................................32
Commit Capture................................................................................................................................... 34
Property Setup................................................................................................................. 34
Configuration................................................................................................................... 34
Events table..................................................................................................................... 34

Page 6
TAFJ-S e t u p

What is TAFJ

TAFJ (Temenos Application Framework Java) is a Pick BASIC runtime and compiler, written
in 100% java. It allows compiling and running Pick BASIC programs. TAFJ has been written
specifically for T24 needs, and all tests and proof of concepts have been done using T24.
TAFJ also manage the connectivity on JDBC compliant databases like jBASE, Oracle,
Microsoft SQL Server, DB2, derby, derby (Embedded). It comes with an embedded
exporting tool for migrate your Pick data to Oracle.

Overvi e w

Page 7
TAFJ-S e t u p

Inst a l l gui d e
Prer e q u i s i t e s

Java JDK

To install TAFJ, the only prerequisite is having a Java Development Kit (JDK) version 1.8.x
installed. To check what version of java you have, type in a console:

>java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121- b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed
mode)

If the version reported is not 1.8.x, you should install it. Java JDK can be downloaded here:

http://www.oracle.com/technetwork/java/javase/downloads/index.html

NOTE: If you have installed java 1.8 but the command java -version doesn't report the
correct version, this is certainly because your PATH environment variable points to another
version. This is a bad practice to have your java virtual machine (VM) in the PATH. We highly
recommend removing it. The best practice is to set-up an environment variable called
JAVA_HOME pointing to the root directory of your Java Development Kit (JDK) installation.
Then, you could reference JAVA_HOME/bin in your PATH environment variable.

The different scripts in <TAFJ_HOME>/bin will REQUIRE the environment variable


JAVA_HOME.

On Unix/Linux/:

export JAVA_HOME=<path_to_your_jdk>

Or update your file: .profile

On Windows:

Page 8
TAFJ-S e t u p

START Menu -> Settings -> Control Panel -> System -> Advanced -> Environment
Variables

You could use System variables (Preferred) OR User variables to set the JAVA_HOME.

set JAVA_HOME=<path_to_your_jdk>

Se t u p TAFJ

The installation comes as a single .tar file. On Unix/Linux, run the “tar -xf <filename>”
command. On Windows, you can use 7zip® to extract the zip Contents.

$ tar -xf Setup_[version].tar


$ ls
Setup_TAFJ.[version].jar
Setup_TAFJ.[version].sh
Setup_TAFJ.[version].bat

Then run the script .sh on UNIX or .bat on Windows operating system.

Note: That the JAVA_HOME environment variable must be set before running the scripts.

The following section will show a typical install procedure on a UNIX platform. The procedure
will be exactly the same on Windows®. The user input is in [blue]. If you have values in
brackets, these are the default values (typing <ENTER> is accepting the default).

Note: If you do not have the T24 sources you will need to give any existing directory in order
to continue the setup. The insert directory is optional.

Page 9
TAFJ-S e t u p

A Ste p by St e p TAFJ Inst a l l a t i o n

On UNIX:

$ . ./Setup_TAFJ.<version>.sh

On Windows:

> Setup_TAFJ.<version>.bat

YAJI v R18
WARNING : JDK 1.8 or above required
Starting setup...
========================================================
. Welcome to the Installation program of TAFJ .
. This setup will install the necessary libraries to .
. compile and run BASIC programs as well as some .
. additional tools and Eclipse plug-ins. .
. Note that nothing will be modified outside of the .
. directory you will specify for the installation. .
. To fully uninstall it, just delete the directory. .
========================================================

Press ENTER to continue.

========================================================
Please enter the install Directory.
default : 'C:\Temenos\Development\TAFJ_SOURCES\TAFJ_DEV\TAFJReleases/TAFJ'

'C:\Temenos\Development\TAFJ_SOURCES\TAFJ_DEV\TAFJReleases\TAFJ' doesn't
exist. Create (y/n) ?
y

========================================================
Please enter the eclipse home directory (Optional).
When provided, a tafj.link, used to resolve tafj eclipse
plugins will be created under ECLIPSE_HOME/dropins
If this file already exist it will be replaced
default :
'C:\Temenos\Development\TAFJ_SOURCES\TAFJ_DEV\TAFJReleases/TAFJ/conf'

'C:\Temenos\Development\TAFJ_SOURCES\TAFJ_DEV\TAFJReleases\TAFJ\conf'
doesn't exist. Create (y/n) ?
y
Extracting META-INF/META- INF/MANIFEST.MF3rdParty/ (dir)
3rdParty/jackson/ (dir)
3rdParty/logging/ (dir)
3rdParty/logging/log4j12/ (dir)
Extracting appserver/ (dir)

Page 10
TAFJ-S e t u p

TAFJSync/log4j- 1.2.13.jar (bin)


TAFJSync/logger.properties (text)
TAFJSync/logs (text)
TAFJSync/README (text)
TAFJSync/TAFJSyncServer.jar (bin)
TAFJSync/tSync (text)
YajiAddOn.classYajiUtil.classGetting available devices .... [DONE]
Creating first project "tafj" ... [DONE]

Updating : 'C:\TAFJ_GA\conf\tafj.properties'.
Updating : 'C:\TAFJ_GA\conf\.properties'.
Updating : 'C:\TAFJ_GA\conf\.data'.
Updating : 'C:\TAFJ_GA\dbscripts\oracle\javaload'.
Updating : 'C:\TAFJ_GA\dbscripts\oracle\javaload.bat'.
Updating : 'C:\TAFJ_GA\dbscripts\oracle\javaunload'.
Updating : 'C:\TAFJ_GA\dbscripts\oracle\javaunload.bat'.
===========================================================
. 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. .
===========================================================
Press ENTER to terminate.

Explori n g th e Se t u p res u l t

The path where you installed TAFJ will be referenced as <TAFJ_HOME>

In the install Directory

<TAFJ_HOME>/
appserver/ The directory containing the different application server configuration
like jboss, Websphere application server etc.
bin/ The directory containing the different executable scripts (tRun,
tCompile, ...).

CodeCoverageReceiver/ The directory containing the cobertura jars.

conf/ The configuration directory.

data/ This directory contains classes and java folder. classes folder holds
the all the compiled class files (.class) and java folder holds .java files

dbdrivers/ The directory containing the drivers needed to different database


communication.

dbscripts/ The directory containing all the database scripts.

Page 11
TAFJ-S e t u p

doc/ The directory containing all the documentation.

eclipse/plugins/ The directory containing all the plugins to enable the TAFJ perspective
in eclipse IDE.

ext/ The default directory containing java extension (see specific chapter).

lib/ The directory containing the TAFJ libraries

JMSInjector/ This directory contain JMSInjector.

Regression/ Contains some scripts perform regression tests.

samples/basic/ The directory containing some BASIC Code samples.

TAFJSessionMonitor/ The directory containing some TAFJ MV42 Monitor tar.gz file.

T24Email/ The directory containing some T24 Email jars to be used by T24
runtime.

T24Sms/ The directory containing some T24 Sms jars to be used by T24 runtime.

RulesEngine/ The directory containing some Rules Engine jars to be used by T24
runtime.

In the Data directory

<TAFJ_HOME>/data/
/tafj/ The default project directory

/tafj/classes/ The default directory where the compiled BASIC goes (like globuslib).

/tafj/java/ The default directory containing the BASIC converted in java.

/tafj/jars/ The default directory containing jar files produced during


compilation when generate jar option is made true in properties file.

Page 12
TAFJ-S e t u p

Se t u p Eclip s e Plu g - ins

Once the setup of TAFJ is completed and if you have eclipse v.3.7.x or above installed, you
can simply link the contents of the directory <TAFJ_HOME>/eclipse/plugins in your
directory <ECLIPSE_HOME>/dropins.

1. Create a file tafj.link in <ECLIPSE_HOME>/dropins.

2. Edit the file tafj.link and add a property key : path=<relative_path_to


_TAFJ_HOME>

3. Set the path with the relative path from <ECLIPSE_HOME> to <TAFJ_HOME>

i.e

For the directory structure:

+---3rdParty
| +---eclipse
+---TAFJ

path=../../TAFJ

Depending on the TAFJ version you are using you could generate this tafj.link
automatically when running TAFJ Setup and providing your ECLIPSE_HOME path.
When using am automated setup (no prompt), tafj.link will be generated under
TAFJ_HOME/conf.

Once done, in order to verify that all TAFJ Plug-ins are loaded with eclipse, you can go in the
Eclipse menu:

Help -> About Eclipse SDK, press on “Installation Details”, and Tab: “Plug-ins”

Page 13
TAFJ-S e t u p

Se t u p proje c t .

A project is a specific setting of properties. All properties of a project are in file properties in
<TAFJ_HOME>\conf. the name of the project is given by the name of the properties file.

To Create a new project base on a properties file, copy the file


<TAFJ_HOME>\conf\.properties and renamed it with the name of your project.

i.e

T24.properties

MYPROJECT.properties

All scripts in <TAFJ_HOME>\bin need a project (properties) to work. To specify the project
to use with a script, pass the argument: -cf ProjectName

i.e
tRun –cf T24.properties EX

You can omit the -cf argument to use the default project. The default project is specified in
the file <TAFJ_HOME>\conf\.default. After a setup of TAFJ the default project in
tafj.properties.

By conventions, the java and class path for TAFJ of a project have to be set under:

<TAFJ_HOME>/data/<ProjectName>/java and classes

i.e

for myProject.properties :
# Specify where the java files will be generated
# by the compiler
#
temn.tafj.directory.java = <tafj.home>\data/myProject/java

# Specify where the classes files will be generated


# by the compiler
#
temn.tafj.directory.classes = <tafj.home>\data/myProject/classes

Page 14
TAFJ-S e t u p

How it work s with prop e r t i e s file and .def a u l t

When you start a script in <TAFJ_HOME>\bin the mechanism is:

Start script

-cf ? .default ?

yes yes

Read
.default

Exist
?
yes
Exist
?
yes

Use .default
Use -cf Error

Page 15
TAFJ-S e t u p

Log g e r
T24 execution and TAFJ internal behavior could be monitored with logs.

Standard logging APIs (SLF4J, Log4J 1.2, Log4J 2.x) are used and a default logger
configuration, writing to files is provided within:

<TAFJ_HOME>\conf\TAFJTrace.properties.

This configuration could be either a Log4J 1.2 or Log4J2 configuration, depending either on
your TAFJ version or on the runtime configuration.

This file is generated automatically in the appropriate Log4j 1.2 or Log4j 2 format if it’s not
already existing.

The configuration allows:

- Changing the default log level for all loggers.

- Defining new loggers and appenders.

For more information please refer to the appropriate logging API documentation, links are
provided in the related section.

By default, several different loggers are defined, providing information related to a specific
topic: T24, Database, Runtime, MDB, EJB, etc…

Log api cu s t o m i z a t i o n

Defa u l t con fi g u r a t i o n
The default runtime configuration is making use natively either of Log4j 1.2 or Log4j 2.

Since PB201607 (June 2016 release), historical Log4j 1.2 configuration is switched to Log4j
2.

When upgrading from an existing installation to PB201607 and higher, any older existing
TAFJTrace.properties will be overridden to fit Log4j 2 format.

For backward compatibility this is still possible to use Log4j 1.2, but not recommended as
further logging enhancements are not going to be supported with this log4j version.

Page 16
TAFJ-S e t u p

Log4j configuration
File TAFJTrace.properties for more information see
https://logging.apache.org/log4j/1.2/manual.html

log4j.debug=false
log4j.rootLogger=OFF
log4j.logger.T24=INFO, t24
log4j.logger.BASIC=ERROR, basic
log4j.logger.PRINTER=ERROR, printer
log4j.logger.DATABASE=ERROR, database
log4j.logger.JQL=ERROR, jql
log4j.logger.LOCKING=INFO, locking
log4j.logger.COMPILER=WARN, compiler
log4j.logger.DEPENDENCY=INFO, dependency
log4j.logger.RUNTIME=ERROR, runtime
log4j.logger.DBIMPORT=ERROR, dbimport
log4j.logger.SQLTRACE=ERROR, sqltrace
log4j.logger.ITYPE=ERROR, itype
log4j.logger.EXECUTE=ERROR, execute
log4j.logger.IOSERVER=INFO, ioserver
log4j.logger.MDB=ERROR, mdb
log4j.logger.EJB=ERROR, ejb
log4j.logger.MONITOR=ERROR, monitor
log4j.logger.API=INFO, api

Log4j2 configuration
File TAFJTrace.properties for more information see http://logging.apache.org/log4j/2.x/

Page 17
TAFJ-S e t u p

loggers =
API,BASIC,CACHE,COHERENCE,COMPILER,COMPONENT_BUILDER,COMPONENT_USAGE,DATABASE
,DATABASE_RO,DBIMPORT,DBIMPORT_COMPARER,DEPENDENCY,DBTOOLS,EJB,EXECUTE,FILTER
,ITYPE,JQL,JQL_NOTSUPPORTED,LOCKING,MDB,PRINTER,RUNTIME,SANITYCHECK,SQLTRACE,
T24,TRUN,UPDATER,WRITEOUTOFTRANS,

logger.API.name = API
logger.API.level = ERROR
logger.API.additivity = false
logger.API.appenderRefs = api
logger.API.appenderRef.api.ref = api

logger.BASIC.name = BASIC
logger.BASIC.level = ERROR
logger.BASIC.additivity = false
logger.BASIC.appenderRefs = basic
logger.BASIC.appenderRef.basic.ref = basic

logger.CACHE.name = CACHE
logger.CACHE.level = ERROR
logger.CACHE.additivity = false
logger.CACHE.appenderRefs = cache
logger.CACHE.appenderRef.cache.ref = cache

Swit c h i n g log API


Since PB201607 TAFJ runtime gives the ability to use SLF4J as a façade:
http://www.slf4j.org/manual.htm

SLF4J allows choosing at deployment time the logging backend framework.

As stated above TAFJ is currently supporting Log4j and Log4j2, hence switching to SLF4J
would make sense in case of wanting to use Log4j as a backend API to continue using any
pre-PB201607 configuration.

Classpath setup
To be able to use SLF4J and Log4j 1.2, some classpath modification needs to be done.

 Remove log4j-api.jar and log4j-core.jar from <TAFJ_HOME>\lib

 Add under <TAFJ_HOME>\lib

o <TAFJ_HOME>\3rdParty\logging\slf4j\slf4j-api.jar

o <TAFJ_HOME>\3rdParty\logging\slf4j\slf4j.log4j12.jar

o <TAFJ_HOME>\3rdParty\logging\log4j12\log4j.jar

Runtime setup
To switch from native Log4j2 API to SLF4J, simply set the following system property.

Page 18
TAFJ-S e t u p

Set up through JVM argument (appserver mode):

-Dtemenos.log.api=SLF4J

Or set up through environment variables (standalone mode tafj shell):

- Linux :

o export temenos_log_api =SLF4J

- Windows

o set temenos.log.api=SLF4J

To switch the backend API (behind SLF4J), to be Log4j 1.2 simply set the following system
property.

Set up through JVM argument (appserver mode):

-Dtemenos.log.backend=LOG4J

Or Set up through environment variables (standalone mode tafj shell):

- Linux :

o export temenos_log_backend =LOG4J

- Windows

o set temenos.log.backend=LOG4J

The default value of this property is LOG4J2.

It has to be set at TAFJ start up, and should be done through environment variables or
JVM arguments

Ba c k w a r d co m p a t i b i l i t y , ke e p usi n g log 4j 1.2 nativ e l y

Classpath setup
To be able to use Log4j 1.2, some classpath modification needs to be done.

 Remove log4j-api.jar and log4j-core.jar from <TAFJ_HOME>\lib

 Add under <TAFJ_HOME>\lib

o <TAFJ_HOME>\3rdParty\logging\log4j12\log4j.jar

Page 19
TAFJ-S e t u p

Runtime setup
To switch from native Log4j2 API to Log4j 1.2, simply set the following system property.

Set up through JVM argument (appserver mode):

-Dtemenos.log.api=LOG4J

Or set up through environment variables (standalone mode tafj shell):

- Linux :

o export temenos_log_api =LOG4J

- Windows

o set temenos.log.api= LOG4J

Page 20
TAFJ-S e t u p

Log fold e r s cu s t o m i z a t i o n

By default you will find above mentioned logs under following folders:

- <TAFJ_HOME>/log : for TAFJ logs

- <TAFJ_HOME>/log_T24 : for T24 logs

This default behavior could be overridden by using following properties:

- temenos.log.directory=<PATH_TO_YOUR_TAFJ_LOG_FOLDER>

- temenos.log.directory.t24=<PATH_TO_YOUR_T24_LOG_FOLDER>

It has to be set at TAFJ start up, and should be done through environment variables or
JVM arguments.

You cannot use the tafj.properties file for that purpose as loggers get initialized before tafj
properties get loaded.

Set up through JVM argument (appserver mode):

-Dtemenos.log.directory=/path/to/your/custom/log/folder

Set up through environment variables (standalone mode tafj shell):

- Linux :

o export temenos_log_directory=’path/to/your/custom/log/directory’

- Windows

o set temenos.log.directory=path\to\your\custom\log\directory

To revert this setting in tafj shell, simply set the property to an empty value.

- Linux :

o export temenos_log_directory=

- Windows

o set temenos.log.directory=

Page 21
TAFJ-S e t u p

Log g i n g COMO
When using LOG4J2 as the logging API, it is possible to redirect COMOs to a standard
logger.

Rou ti n g an d file app e n d e r


By default a routing appender will be defined to have each agent logging to its own como file
(standard file appender). The routing being defined by a thread context property matching
the como name.

Simply set the following property as system property or JVM property at application start up.

- temenos.log.como=true

It will generate the “como” logger and appender configuration within TAFJTrace
configuration.

When using an existing deployment, make sure to delete current TAFJTrace configuration
file.

The como appender and logger will be defined in the newly generated configuration file.

i.e. when using properties configuration format.


appender.como.type = Routing
appender.como.name = como
appender.como.routes.type = Routes
appender.como.routes.pattern = $${ctx:COMO-NAME}
appender.como.routes.route1.type = Route
appender.como.routes.route1.file.type = File
appender.como.routes.route1.file.name = como-${ctx:COMO-NAME}
appender.como.routes.route1.file.fileName = ${sys:temenos.log.directory.como}/$
{ctx:COMO-NAME}
appender.como.routes.route1.file.layout.type = PatternLayout
appender.como.routes.route1.file.layout.pattern = %m%n

By default COMOs log files are going to be generated under

<TAFJ_HOME>/log_T24/como

This default behavior could be overridden by using following property:

- temenos.log.directory.como=<PATH_TO_YOUR_COMO_LOG_FOLDER>

Above properties have to be set at TAFJ start up, and should be done through
environment variables or JVM arguments.

Page 22
TAFJ-S e t u p

So c k e t app e n d e r and rou ti n g and file app e n d e r


The above mentioned routing appender could be used in conjunction with a socket appender
to have COMOs files generated on a remote logging server.

In this scenario, TAFJ application will become a client of the logging server.

The appender to use on TAFJTrace configuration side will be the following, i.e. when using
properties configuration format.
#Socket client appender to be used to redirect como files to above remote routing
appender
#Setup appropriate hostname and port to match the remote logging server
appender.como.type = Socket
appender.como.name = como
appender.como.host = 10.56.7.99
appender.como.port = 1212
appender.como.layout.type = SerializedLayout
appender.como.connectTimeoutMillis = 2000
appender.como.reconnectionDelayMillis = 10000
appender.como.protocol = TCP

On the server side, the same routing appender than defined above will be used to receive
the log events from the socket and route them to the appropriate file.

1- Deploy on the logging server (LOG4J_HOME below) the following libraries which can
be found in the TAFJ release under 3rdParty\logging\log4j2:

o log4j-core.jar

o log4j-api.jar

o jcommander-1.48.jar

2- Copy on the server the TAFJTrace configuration defining the como routing appender

3- Start the TCP socket server with appropriate classpath and parameters, i.e.
set LOG4J_HOME=C:\lo4j-socket-server-conf
set CLASSPATH=%LOG4J_HOME%\*
set JAVA_OPTS=-Dtemenos.log.directory=%LOG4J_HOME%\log
-Dtemenos.log.directory.t24=%LOG4J_HOME%\t24-log -Dtemenos.log.directory.como=
%LOG4J_HOME%\como-log

java %JAVA_OPTS% -cp %CLASSPATH%


org.apache.logging.log4j.core.net.server.TcpSocketServer -c %LOG4J_HOME
%\TAFJTrace.xml -p 1212 --classes java.util.Collections$UnmodifiableMap --classes
java.util.HashMap

The TCP socket server will be started on the specified option -p port 1212 and defining the
logger configuration coming from option -c TAFJTrace.xml.

Page 23
TAFJ-S e t u p

Communication could optionally be secured by using SSL. Please refer to log4j2


documentation.
https://logging.apache.org/log4j/2.0/manual/appenders.html#SocketAppender

In this case the client appender configuration has to be refined to define SSL parameters.

i.e.
appender.como.ssl.type = SSL
appender.como.ssl.protocol = SSL
appender.como.ssl.keystore.type=KeyStore
appender.como.ssl.keystore.location=log4j2-keystore.jks
appender.como.ssl.keystore.password=changeme
appender.como.ssl.truststore.type=TrustStore
appender.como.ssl.truststore.location=trustore.jks
appender.como.ssl.truststore.password=changeme

Page 24
TAFJ-S e t u p

Log g e r co n t e x t and mul t i- te n a n t .

In a multi-tenant environment you may want to define a specific logger context to differentiate
the logs from the different tenants. It could also be useful for debugging purpose where a
user can define its own context.

By using property

- temenos.log.context=<YOUR_CONTEXT_NAME>

you will find your logs under :

- <TAFJ_HOME>/log/<YOUR_CONTEXT_NAME> : for TAFJ logs

- <TAFJ_HOME>/log_T24/<YOUR_CONTEXT_NAME> : for T24 logs

Same feature apply to overridden log directory as mentioned above.

When using a context you will also generate a dedicated file to configure your
appenders: TAFJTrace.<YOUR_CONTEXT_NAME>.properties file.

Like log directories properties it has to be set at TAFJ start up, and should be done through
environment variables or JVM arguments, refer to log folder customization sample above.

Set up through JVM argument (appserver mode):

-Dtemenos.log.context=customLogContext

Set up through environment variables (standalone mode tafj shell):

- Linux :

o export temenos_log_context=customLogContext

- Windows

o set temenos.log.context=customLogContext

To revert this setting in tafj shell, simply set the property to an empty value.

- Linux :

o export temenos_log_context=

- Windows

o set temenos.log.context=

Page 25
TAFJ-S e t u p

Log redir e c t for Spl u n k

To redirect logs into Splunk instance, we need to modify the following property in
tafj.properties file

o temn.tafj.runtime.redirection.logger=

By default, if the above mentioned property is empty, logs will be generated in filexplorer.

If the splunk component is provided as the value for the above mentioned property, logs will
get forwarded to splunk.

ie) temn.tafj.runtime.redirection.logger=splunk

Specify the splunk URL and token using the below mentioned two properties,

o temn.tafj.runtime.redirection.splunk.url=

o temn.tafj.runtime.redirection.splunk.token=

By default, if the above mentioned properties are not provided, the default URL and token
used.

ie) URL = http://localhost:8088

Token = 0fbb0a31-4548-4468-a49b-64c361be3376

tCreateTraceWriter

Once the above properties are defined in tafj.properties file, user has to execute
tCreateTraceWriter file which is located inside %TAFJ_HOME%\bin directory in order to
generate the new TAFJTrace.properties file which is compatible for Splunk component.

The appenders will modified from Rolling file to HTTP.

ex) appender.T24.type = http

appender.T24.name = T24

appender.T24.url = ${defaultUrl}

appender.T24.token = ${defaultToken}

appender.T24.layout.type = PatternLayout

appender.T24.layout.pattern = ${defaultPattern}

Page 26
TAFJ-S e t u p

Prop e r t i e s
File co nf i g u r a t i o n
TAFJ doesn’t use environment variables but properties for its internal configuration.

Properties can be either stored in a properties file or at database level for application
server deployments.

.properties is the file extension to store configuration and properties on disk.

File based properties are stored under $TAFJ_HOME/conf directory.

The file name will identify a specific configuration or project.

e.g.

- production-system.properties

- l3-dev.properties

To make use of a specific properties file in an application server environment, set the
following system property at JVM startup.

-Dtafj.properties=production-system

Or

-Dtafj.properties=production-system.properties

The file must exist under $TAFJ_HOME/conf directory.

Dat a b a s e co n f i g u r a t i o n
When using the database to store properties, the main T24 data source is used and must be
available for the configuration service to work.

The configuration service is automatically creating the configuration table


‘TAFJ_CONFIGURATION’, if it doesn’t already exists.

Then this table is used to store configurations, a configuration being identified by a unique
configuration id.

e.g.

- production-system

- l3-dev

To make use of a database based configuration instead of a properties file in an


application server environment, set the following system property at JVM startup.

Page 27
TAFJ-S e t u p

-Dtafj.configuration=production-system

The configuration “production-system” will be created automatically with default values if it


doesn’t exist in the configuration table (no entries for configuration_id=’ production-system’).

The ‘TAFJ_CONFIGURATION’ table structure is the following:

- CONFIGURATION_ID: the configuration identified

- PROPERTY_KEY: the property key

- PROPERTY_VALUE: the property value

- LAST_MODIFIED: the timestamp when the properties has been lastly modified

- USER_NAME: the user name responsible for the modification (default values are
created by user ‘system’).

Prop e r t i e s
Be it file or database configuration, each parameter is stored as a pair of strings, one storing
the name of the parameter (called the key), and the other storing the value.

All properties are loaded as a Java System Properties.

All Properties can be overloaded with -D<key>=<value> set to the JVM (Java Virtual
Machine).

A value can contain:

A string as a value

i.e.
tafj.home = \Temenos\T24Enterprise\TAFJ

A string including keys between ‘<’ ’>’, the substitution will be done at runtime with
the corresponding key value.

i.e.
tafj.home = \Temenos\T24Enterprise\TAFJ
temn.tafj.runtime.directory.current = <tafj.home> /UD

A String with an Environment variable ‘<’ ’>’, the substitution will be done at runtime
with the corresponding environment variable value.

Page 28
TAFJ-S e t u p

tafj.home = <%TAFJ_HOME%>
temn.tafj.runtime.directory.current = <$TAFJ_HOME>/ UD

In case of properties file storage, properties needs to be edited manually with a text editor.

In case of database storage, an administration console and a REST API are available to
change properties.

- /TAFJConfiguration/dashboard.xhtml : GUI admin console access to current runtime


configuration defined through -Dtafj.configuration.

- /TAFJConfiguration/resources/properties: REST base URL to current runtime


configuration defined through -Dtafj.configuration.

- /TAFJConfiguration/resources/configuration: REST base URL to any configuration


defined in the configuration table.

Refer to TAFJ AS documentation for more details.

This is important to note that the application must be restarted when changing a
property value.

Confi g u r a t i o n overri d e – mu l t i- con f i g u r a t i o n

In development or tests environments multiple configurations of same type can be loaded by


the system. This mode could be useful to define a “base” configuration which could be
overridden in a “specific” configurations for some parameters only.

It allows changing the system behavior, simply by passing as parameters the proper set of
configurations without having to edit them.

A multi-configuration is a coma “,” separated list of configuration IDs ordered by


priority, the first one being the highest priority.

For properties file

-Dtafj.properties=oracle-locking,base

For database configuration

-Dtafj.configuration= oracle-locking,base

In the example above, 2 configurations are referenced: “oracle-locking” and “base”.

The first configuration takes precedence on the second and so on.

Page 29
TAFJ-S e t u p

It means “oracle-locking” could only define one property for the lock manager which will
override the one defined in “base”. “base” containing the full set of properties.

The table below resumes the priority between properties based on their definition level.

System property takes precedence on “configuration1” which takes precedence on


“configuration2”. i.e.

-Dtafj.properties=configuration1,configuration2

-Dtafj.configuration=configuration1,configuration2

System property configuration1 configuration2 Value loaded

-Dtemn.key1=system temn.key1=conf1 temn.key1=conf2 system

temn.key2=conf1 temn.key1=conf2 conf1

temn.key1=conf2 conf2

Page 30
TAFJ-S e t u p

Print e r

TAFJ use the JPS (Java Print Service).

On Windows, JPS use the Printer Manager. You can connect any printers installed on
Windows. The Printer has to be online.

On UNIX/LINUX, JPS use CUPS (Common Unix Printing System). CUPS is not install by
default. You have to install it. Please refer to your OS documentation for the installation.

In the properties file, category printer, the setup of TAFJ automatically adds your printers
online with default driver name PRN #. You can affect the channel to any drivers’ name.

# ** ** ** ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * **
#
# Pr in te r
#
# ** ** ** ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * **
#
# Pr in te r li st
# Th is li st h as be en g en er at ed du ri ng th e s et up . Yo u ca n m od if y it at an y mo me nt t o
r ef le ct an y
# ch an ge t o t he pr in te r l is t.
# If th e C ha nn el 1 is mi ss in g ( or re me d- ou t) , it wi ll b e d ef au lt ed to th e de fa ul t
p ri nt er (i f a ny )
# of yo ur op er at in g sy st em .
#

# Sp ec if y w he re i s t he &H OL D& di re ct or y w he n SE TP TR i s u se d wi th th e HO LD op ti on
t em n. ta fj . pr i nt e r. d ir e ct o ry . ho l d = <t em n. ta fj . ru n ti m e. d ir e ct o ry . cu r re n t> / &H O LD &
t em n. ta fj . ch a nn e l. n am e .0 = PR N0

t em n. ta fj . dr i ve r .n a me . 0 = PR N0
t em n. ta fj . dr i ve r .d e vi c e. 0 = HP Of fi ce je t P ro 86 00 ( Ne tw or k)
t em n. ta fj . dr i ve r .c l as s .0 = co m. te me no s .t a fj . jl p .d r iv e rs . jP r in t er D ri v er

Page 31
TAFJ-S e t u p

Che c k TAFJ Inst a l l a t i o n

To Check to installation of tafj, you can execute the command “tDiag”. The command will
show you the where is set TAFJ_HOME, the version of the JVM, the version of TAFJ, the
default project and all details of all projects set in <TAFJ_HOME>\conf

_ __ __ __ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __

H om e : ' D: \T em en o s\ T 24 E nt e rp r is e \T A FJ '
C on f di re ct or y : ' D: \T em en o s\ T 24 E nt e rp r is e \T A FJ / co n f'
L og di re ct or y : ' D: \T em en o s\ T 24 E nt e rp r is e \T A FJ / lo g '
V er si on : D EV _2 01 40 4
_ __ __ __ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __

j av a. ho me : D :\ Te me no s \T 2 4E n te r pr i se \ 3r d Pa r ty \ ja v a\ j dk 1 .7 . 0_ 5 1- 6 4\ jr e
j av a. ve nd o r : O ra cl e Co rp or at i on
j av a. ve rs i on : 1 .7 .0 _5 1
o s. ar ch : a md 64
o s. na me : W in do ws 7
H os tN am e : w ks ho me 01
I P A dd re ss : 1 0. 24 4. 1. 1 37
R un ti me : D ou bl e By te S ys Se pa ra t or
_ __ __ __ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __

D ef au lt Pr oj ec t : ' ta fj '

- Pr oj ec t : ' ta fj '
Ba si c so ur ce : D: \T em en o s\ T 24 E nt e rp r is e \T A FJ \ sa m pl e s\ b as i c
Ja va s rc di r : D :\ Te me no s\ T 24 E nt e rp r is e \T A FJ \ da t a\ t af j \j a va
Ja va cl as se s d ir : D: \T em en o s\ T 24 E nt e rp r is e \T A FJ \ da t a\ t af j \c l as s es
Up da te d ir : D: \T em en o s\ T 24 E nt e rp r is e \T A FJ / up d at e s
-- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- -
Ja va de fa ul t p ac ka ge : co m. te me n os . t2 4
-- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- -
Da ta Ba se UR L :
Da ta Ba se us er :
-- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- -
Lo ck in g mo de : JD BC
Lo ck in g na me :
-- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- -
Cu rr en t di r : D: \T em en o s\ T 24 E nt e rp r is e \T A FJ / UD
Co mo d ir : D :\ Te me no s\ T 24 E nt e rp r is e \T A FJ / UD / &C O MO &
Ho ld d ir : D :\ Te me no s\ T 24 E nt e rp r is e \T A FJ / UD / &H O LD &
UD en co di ng : UT F- 8
-- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- -
Ti me zo ne : Eu ro pe /L o nd o n
Lo ca l : en _U S
De bu g en ab le d : tr ue
-- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- -
JM S l og ge r en ab le d : fa ls e
Lo gg er A PI en ab le d : tr ue
TE C d is ab le d : fa ls e
-- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- -
Se ss io n mo ni to r e na bl ed : fa ls e
Se ss io n mo ni to r h os t : lo ca lh os t
Se ss io n mo ni to r p or t : 83 77

Page 32
TAFJ-S e t u p

EarFil e b u i l d e r

Warnin g : This step is only specific to weblogic


applica tio n serve r !

Under TAFJ_HOME/bin the utility tEARFilebuilder.sh/bat will help generating the necessary
EAR file for TAFJ and T24 libraries related, including all necessary deployment files specific
to weblogic container.

The following is the help for the tEARFilebuilder utility.

tEarFilebuilder.sh/bat -h

Usage: EarFileBuilder -name <ear-file-name> -source <jars-path> -dest <dest> -dep


{optional} [dependency-spec-version] -include{optional} [jar-names]

where arguments can be :

-name :Name of the ear file to be generated with {,specification,implementation}


version (default 0.0 for both)

-source : The list of folder you want to parse (os path separator between folders)

-dest : The path where you want the ear file to be generated

-dep <opt> : Depedency module names followed by {,specification,implementation}


version if any separated with , (os path separator between for more than one dependency).

-include <opt> : when specified with , seperated jar names will only be included part of
ear file from mentioned source directories. i.e TAFJCore.jar,TAFJBasic.jar

Example:

tEARFilebuilder -name TAFJ_LIB,201803 -source


C:\Temenos\Development\TAFJ_SOURCES\TAFJ_DEV\ReleaseDir\lib;C:\Te
menos\Development\TAFJ_SOURCES\TAFJ_DEV\ReleaseDir\ext;C:\Temeno
s\Development\DEV\TAFJ\RulesEngine -dest
C:\Temenos\Development\DEV\T24 -dep T24_LIB,201803

Searching directory ...


C:\Temenos\Development\TAFJ_SOURCES\TAFJ_DEV\ReleaseDir\lib [ OK ]

Page 33
TAFJ-S e t u p

Searching directory ...


C:\Temenos\Development\TAFJ_SOURCES\TAFJ_DEV\ReleaseDir\ext [ OK ]

Searching directory ... C:\Temenos\Development\DEV\TAFJ\RulesEngine [ OK ]

generating application.xml file ... [ OK ]

generating weblogic-application.xml file ... [ OK ]

generating Manifest file ... [ OK ]

generating TAFJ_LIB file ... [ OK ]

clean up ... [ OK ]

Ear file is generated under: C:\Temenos\Development\DEV\T24 in 4565 ms.

Note : please make a note in the above example the specification version is passed while
generating EAR file name along with dependency name,specification version.

While generating TAFJ_LIB ear file, one need to make sure to pass all necessary folders
where the dependency jars are present i.e TAFJ/lib (TAFJCore,TAFJCommon etc…)
,TAFJ/ext (TAFJBasic,tComponentFramework etc…),TAFJ/rulesengine (rulesEngine).

While generating T24_LIB, one need to need to pass the dependency information about
TAFJ_LIB name with appropriate specification/implementation version.

i.e

tEARFilebuilder -name T24_LIB,201803 -source


C:\Temenos\Development\DEV\T24\lib\t24lib_201803 -dest
C:\Temenos\Development\DEV\T24 -dep TAFJ_LIB,201803

Page 34
TAFJ-S e t u p

Com m i t Capt ur e

Commit capture, triggers a data event when a WRITE/DELETE is performed inside or


outside transaction boundary on configured files. The triggered Data events are then stored
in event table, F.DATA.EVENTS.

Prop e r t y Set u p
In your TAFJ properties file, set the below property to enable commit capture

temn.tafj.runtime.use.df.cache = true

Set the below property to write the event to disk whenever the event size exceeds 32K.

temn.tafj.runtime.df.cache.huge.event=true

Confi g u r a t i o n
Execute the below command from a JBC program to turn ON/OFF the feature for a file.
Internally, the option is set in TAFJ_VOC, hence it will not be reset still it is changed again.

DF_COMMIT_CAPTURE( FileName, FilterMode )

Where, FileName is the name of the file as in TAFJ_VOC.

FilterMode should set to either “U” or “Y” or by default it is NULL. Where NULL
indicates the feature is turned OFF.

In U Mode, the write events are captured whereas in Y Mode, both the WRITE and DELETE
events are captured.

Sample command to turn ON the feature for a file:

EXECUTE "DF_COMMIT_CAPTURE('FBNK.CURRENCY','Y')" CAPTURING EXE.OUT

Eve n t s tabl e
The captured events in F.DATA.EVENTS is constructed with the following fields,

 Field1 - Timestamp record created in milliseconds. e.g. 1386082891.9949

 Field2 - Timestamp record processed. (Initially left blank)

 Field3 - Not applicable for TAFJ

 Field4 - Not applicable for TAFJ

 Field5 - Multivalued list of file names. e.g. FBNK.STMT.ENTRY]FBNK.ACCOUNT

 Field6 - Sub-valued list of record keys related to the file names

Page 35
TAFJ-S e t u p

 Field7 - Sub-valued list of data related to the key or {DELETE} if record deleted.

 Field8 - Sub-valued list of table name.

The filter record keys have the following format:

X<PortNo>_<UUID>_<sequence number>

Where:

X - Is an indicator as either ‘U’ for unencrypted or ‘E’ for encrypted filter records

PortNo - Is the port number of the process performing the write.

UUID - Universally Unique Identifier

SeqNo - Incrementing sequence number for multiple filter records describing a


transaction

Page 36

Das könnte Ihnen auch gefallen