Configuring WebLogic Script (cluster) for Temenos Transact Java Deployment
Similar to single server mode, you can use scripts to run a multi-environment. To use the scripts you need to setup a cluster called TAFJCluster.
http://10.44.245.223:9548/TAFJEE/Execute?command=START.TSM
http://10.44.245.224:9548/TAFJEE/Execute?command=START.TSM
This requires a special setup, which is explained below.
Setting up Distributed Queues in Script Mode
To setup distributed queues in script mode,
- Run the script below.
wlst.sh -loadProperties %TAFJ_HOME%\appserver\weblogic\tafj.properties %TAFJ_HOME%\appserver\weblogic\TAFJJMS-Distributed.py
- Run the script below.
wlst.sh -loadProperties %TAFJ_HOME%\appserver\weblogic\tafj.properties %TAFJ_HOME%\appserver\weblogic\TAFJJMSQUEUE-Distributed.py
This creates distributed Round-Robin queues in the cluster for each server but not in the admin server.
Setting up Distributed Queues in Console Mode
To setup distributed queues in console mode,
- Create a new Queue and choose Distributed Queue on the following page.
- Specify a Name and JNDI Name. Click Next.
- Click Advanced Targeting and choose the Subdeployment setup. Click Finish.
Setting up a Grind Link Datasource
The procedure for setting up a Grind Link Datasource (a datasource that targets an Oracle RAC Cluster) is similar to that of running through a single datasource wizard. In this case, you need to select the Fan Enabled check box and add the host or ports of each node in the RAC.
Below is an example of the URL that you need to specify where TAFJWL is the ORACLE_SID and the hosts or ports are highlighted.
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.44.245.186)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=10.44.245.187 )(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=TAFJWL)))
Setting up each Node so that TAFJEE.ear can be Deployed to the Cluster
When you are using multi-node mode, each node must be aware of its classpath. If TAFJ is shared over a network share, then the classpath can be shared using the same directory structure. Otherwise, if TAFJ is installed separately on each node, the directory structures might not match.
There are different ways to achieve this. The most common are presented below. The recommended one is to follow same mechanism than the one applied for a single server by using script configuration. For more information, see the reference URLs shown in the sections below.

Apply on each node part of the cluster (node/bin/setDomainEnv). The same configuration used in the WebLogic Property File Setup section.
When starting a node, the node manager invokes startManagedWeblogic.sh. This invokes startWeblogic.sh, which further invokes setDomainEnv.sh. This will help you to setup the classpath and all other JVM arguments.
References
https://docs.oracle.com/middleware/1212/wls/NODEM/java_nodemgr.htm#NODEM178
http://docs.oracle.com/cd/E24329_01/web.1211/e24425/trouble.htm#CLUST535
Check the classpath Value
Make sure the value of CLASSPATH is same on all managed servers in the cluster. CLASSPATH is set by the setEnv script, which you run before you run startManagedWebLogic to start the managed servers.
If you change the value of CLASSPATH on one managed server or change how setEnv sets CLASSPATH, then you must make the same change on all managed servers in the cluster.

You must set the classpath correctly for each separate node. (Note the reference to weblogic.jar and watch for service packs as well!)
You need to do this for each server under the path: Environment > Servers > (Your server name) > Server Start tab.
Below is an example, which shows the current classpath and it needs to be set correctly.
/opt/oracle/middleware/wlserver_12.1/server/lib/weblogic.jar:/u01/TAFJ/TAFJ.R13_SP2/lib/T24CollectorClient.jar:/u01/TAFJ/TAFJ.R13_SP2/lib/TemenosSecurity.jar:/u01/TAFJ/TAFJ.R13_SP2/lib/TAFJCommon.jar: /u01/TAFJ/TAFJ.R13_SP2/lib/TAFJCache.jar: /u01/TAFJ/TAFJ.R13_SP2/lib/cache-api.jar: /u01/TAFJ/TAFJ.R13_SP2/lib/TAFJCompiler.jar:/u01/TAFJ/TAFJ.R13_SP2/lib/TAFJCore.jar:/u01/TAFJ/TAFJ.R13_SP2/lib/TAFJLocking.jar:/u01/TAFJ/TAFJ.R13_SP2/lib/TAFJTelnetD.jar:/u01/TAFJ/TAFJ.R13_SP2/lib/TAFJVersion.jar:/u01/TAFJ/TAFJ.R13_SP2/ext/TAFJBASIC.jar:/u01/TAFJ/TAFJ.R13_SP2/ext/tComponentFramework.jar:/u01/TAFJ/TAFJ.R13_SP2/lib/log4j.jar:/u01/TAFJ/TAFJ.R13_SP2/lib/antlr.jar:/u01/TAFJ/TAFJ.R13_SP2/dbdrivers/oracle-11g/xmlparserv2.jar:/u01/TAFJ/TAFJ.R13_SP2/dbdrivers/oracle-11g/xdb.jar:/u01/TAFJ/TAFJ.R13_SP2/T24/Component/R12GAMB_r13_2.jar:/u01/TAFJ/TAFJ.R13_SP2/T24/Component/t24-ChargeService.jar:/u01/TAFJ/TAFJ.R13_SP2/T24/Component/t24-ChargeService-Data.jar:/u01/TAFJ/TAFJ.R13_SP2/T24/Component/t24-CustomerService.jar:/u01/TAFJ/TAFJ.R13_SP2/T24/Component/t24-CustomerService-Data.jar
Load Balancing
Switch off Server Affinity to load balance across distributed queues for transactional queues such as OFSQueue and OFSReplyQueue. Do not perform this activity for t24EXECQueue. For more information, see Setting up t24ExecQueue for multi-node.
Server Affinity Enabled - Specifies whether a server instance that is load balancing consumers or producers across multiple members destinations of a distributed destination, will first attempt to load balance across any other physical destinations that are also running on the same server instance.
MBean Attribute (Does not apply to application modules): LoadBalancingParamsBean.ServerAffinityEnabled
Setting up t24ExecQueue for Multi-node
This section creates a new connection factory for t24ExecQueue called t24ConnectionFactory.
Take the defaults and run through the wizard without going to Advanced Targeting (use the subdeployment).
Once the connection factory is created, uncheck the Load Balancing Enabled check box as each message will be targeted to each node.

In TAFJEE_WAR_TAFJ.war, update weblogic.xml in the WEB-INF directory. This map to the new connection factory.
<?xml version="1.0" encoding="UTF-8"?> <weblogic-web-app> <!-- xmlns="http://www.bea.com/ns/weblogic/90" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.bea.com/ns/weblogic/90 http://www.bea.com/ns/weblogic/90/weblogic-web-app.xsd http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" --> <resource-description> <res-ref-name>jms/TAFJQueueConnectionFactory</res-ref-name> <jndi-name>jms/t24ConnectionFactory</jndi-name> </resource-description> <resource-description> <res-ref-name>jms/t24EXECQueue</res-ref-name> <jndi-name>jms/t24EXECQueue</jndi-name> </resource-description> <!-- UNCOMMENT TO HAVE TAFJMonitor Link <ejb-reference-description> <ejb-ref-name>MonitorBeanRef</ejb-ref-name> <jndi-name>ejb/MonitorBeanLocal</jndi-name> </ejb-reference-description> --> <!-- A template configuration to secure the webApp in Jboss with jboss admin role <security-domain>java:/jaas/jmx-console</security-domain> --> </weblogic-web-app>

In TAFJEE_MDB.jar, update weblogic-ejb-jar.xml in the META-INF directory to the following:
<wls:weblogic-enterprise-bean> <wls:ejb-name>TAFJPhantomListenerMDB</wls:ejb-name> <wls:message-driven-descriptor> <wls:pool> <wls:max-beans-in-free-pool>96</wls:max-beans-in-free-pool> <wls:initial-beans-in-free-pool>4</wls:initial-beans-in-free-pool> </wls:pool> </wls:message-driven-descriptor> <!-- Oracle Benchmark <wls:dispatch-policy>MDBTWM</wls:dispatch-policy> --> <wls:resource-description> <wls:res-ref-name>jdbc/t24DataSource</wls:res-ref-name> <wls:jndi-name>jdbc/t24DS</wls:jndi-name> </wls:resource-description> <wls:resource-description> <wls:res-ref-name>jdbc/t24LockingDataSource</wls:res-ref-name> <wls:jndi-name>jdbc/t24LockingDS</wls:jndi-name> </wls:resource-description> <wls:resource-description> <wls:res-ref-name>jms/t24EXECQueue</wls:res-ref-name> <wls:jndi-name>jms/t24EXECQueue</wls:jndi-name> </wls:resource-description> <wls:resource-description> <wls:res-ref-name>jms/TAFJQueueConnectionFactory</wls:res-ref-name> <wls:jndi-name>jms/t24ConnectionFactory</wls:jndi-name> </wls:resource-description> <wls:resource-description> <wls:res-ref-name>jms/TopicConnectionFactory</wls:res-ref-name> <wls:jndi-name>jms/ConnectionFactory</wls:jndi-name> </wls:resource-description> <wls:resource-description> <wls:res-ref-name>jms/tecEventsTopic</wls:res-ref-name> <wls:jndi-name>jms/tecEventsTopic</wls:jndi-name> </wls:resource-description> </wls:weblogic-enterprise-bean>

To setup TSA.SERVICE for multi-node COD,
- Specify two nodes in F.TSA.SERVICE > TSM record.In the example below, zero auth version is used for TSA.SERVICE (if zero auth version is not available, then you need to commit and authorise the record using another Temenos Transact user.)
- The Server name is a multi-value field. Specify the names of the servers. This should match to the Unix hostname command given on the node. In the example below, the servers are ms1 and ms2.
- Commit the record.
- Specify two nodes in F.TSA.SERVICE > COB.If you want to run a COB on single company, then you need to do the modification on record COB-<companyname>. For example COB-GB0010001.
- Specify the name of servers in the Server name field on COB record. Here, you can specify the number of agents that need to run on each node by providing an appropriate WORK.LOAD.PROFILE record (in this example, number of agents used is TWO for both the servers).
- Commit the record.
In this topic