Configuration
This chapter describes how to set JEUS-Tuxedo Connector (JTC) and logs.
1. JTC Outbound
JEUS-Tuxedo Connector (JTC) is a library that allows access to Tuxedo and the use and call its services. JTC is included in the WebT library.
The JTC configuration file configures information about JEUS and Tuxedo servers and their service operation environment. The information must be identical to information set in the Tuxedo domain gateway.
The Tuxedo configuration file corresponding to JTC has additional SVRGROUP and SERVER sections to use a domain gateway. Detailed information about a domain is set in a separate domain configuration file.
The following is the JTC outbound configuration process.
-
Configure webt.properties
-
Configure Startup method
-
Configure Tuxedo
-
Configure Tuxedo domain
-
Start JEUS and Tuxedo
1.1. Configuring webt.properties
The webt.properties file, which sets log and domain information, is located in the following path:
$JEUS_HOME/lib/application
If webt.properties is set in both JEUS_HOME/lib/application and JEUSMain.xml, only one of the settings is used and a connection for the other is disconnected. For more information about how to set webt.properties, refer to Tmax WebT User Guide. |
The following is an example of webt.properties:
log.level = debug log.dir = c:/temp log.file = webt.log log.bufsize = 1024 defaultCharset = euc-kr tux.buffer.size = 4096 tux.default.timeout = 20 tux.default.txtimeout = 30 tux.local.listen.ip=192.168.1.35 tux.local.listen.port=6000 tux.local.name = TDOM1 tux.remote.name.list = TDOM2 tux.default.remote = TDOM2 tux.TDOM2.addr = 192.0.0.1 tux.TDOM2.port = 5000
-
log.level = [none | debug | info]
-
Default value: info
-
Log level.
-
-
log.dir = string
-
Default value: NULL
-
Directory in which a log file is saved. Use '\' instead of '/' in Windows.
-
-
log.file = string
-
Default value: webt.log
-
Log file name.
-
-
log.bufsize = int
-
Default value: 512
-
Size of the buffer used to record logs.
-
-
log.file.date.format = string
-
Default value: MMddyyyy
-
Name format of a log file created when log.valid.days is set to 1 or greater.
-
-
log.valid.days = int
-
Default value: -1
-
Interval at which a log file name is updated.
If it is set to 0 or a negative value, a single file is used.
-
-
tux.local.name = string
-
Default value: NULL
-
JEUS local domain name. Since a Tuxedo domain gateway uses this value to identify and recognize a domain, each engine container in which JTC is used must have a unique name.
-
-
tux.local.listen.ip = string
-
Default value: NULL
-
Local IP address for Tuxedo to access JEUS. This setting is effective only when used together with tux.local.listen.port.
-
If no IP address is specified, Tuxedo listens on all available IP addresses. This parameter defines the binding IP address for listening, not for access control (ACL) purposes.
-
You must specify one of the IP addresses of the machine that runs JTC. When a new connection is established while existing connections remain active, the new connection is accepted after the existing connections are closed. This behavior ensures service continuity in cases where network issues or failures cause Tuxedo to detect a disconnection that JEUS does not recognize. Since JTC might otherwise reject the new connection, allowing the new connection prevents potential service disruption.
-
-
tux.local.listen.port = int
-
Default value: NULL
-
Listening port for Tuxedo to access JEUS.
-
If not specified or set to -1, this setting is disabled. When used together with tux.local.listen.ip, the binding IP can also be specified. When a new connection is established while existing connections remain active, the new connection is accepted after the existing connections are closed. This behavior ensures service continuity in cases where network issues or failures cause Tuxedo to detect a disconnection that JEUS does not recognize. Since JTC might otherwise reject the new connection, allowing the new connection prevents potential service disruption.
-
This setting is intended for listening-only connections. Even if connections are established only from Tuxedo to JEUS (and not vice versa), the representative IP address and port of the remote domain must still be specified. If the port is set to 99999, no connection attempts are made.
-
This feature cannot be used together with the mirror capability.
-
-
-
tux.remote.name.list = string
-
Default value: NULL
-
Remote domain name. To specify multiple names, separate each name with a comma (,). Specified names corresponds to <domainName> settings.
-
-
tux.cluster.name.list = string
-
Default value: NULL
-
Cluster domain name. To specify multiple names, separate each name with a comma (,).
-
-
tux.<clusterName>.remote.name.list = string
-
Default value: NULL
-
Name of a remote domain to be managed in the corresponding cluster. If a request is called to a cluster, the request is called to a remote domain in the cluster. To specify multiple names, separate each name with a comma (,).
-
-
tux.buffer.size = int
-
Default value: 4096 (Unit: Byte)
-
Size of the buffer used to communicate with Tuxedo.
-
-
tux.default.timeout = int
-
Default value: 1000 (Unit: second)
-
Maximum time to wait for a response when calling a general service. If a response is not received within the period, an exception occurs in the client and any response message after the timeout is discarded.
-
-
tux.default.txtimeout = int
-
Default value: 30 (Unit: second)
-
Maximum time to wait for a response to a transaction control message. This value must be greater than transaction timeout set in Tuxedo.
-
This value is generally set to the sum of TXTIMEOUT and SCANUNIT, which are set in the Tuxedo configuration file.
-
-
tux.default.table = string
-
Default value: NULL
-
Tuxedo field table file.
-
-
tux.default.table.file = string
-
Default value: NULL
-
Tuxedo field table text file (*.f), which is used in Tuxedo 5 and earlier.
-
-
tux.default.table.file.16 = string
-
Default value: NULL
-
Tuxedo field table text file(*.f), which is used in Tuxedo 6 and later.
-
-
tux.<domainName>.buffer.size = int
-
Default value: -1 (Unit: Byte)
-
Size of the buffer used to communicate with the domain.
-
-
tux.<domainName>.default.timeout = int
-
Default value: -1 (Unit: second)
-
Maximum time to wait for a response when calling a general service for the domain.
-
-
tux.<domainName>.default.txtimeout = int
-
Default value: -1 (Unit: second)
-
Maximum time to wait for a response to a transaction control message of the domain.
-
-
tux.<domainName>.default.readtimeout = int
-
Default value: -1 (Unit: second)
-
Socket timeout of the domain.
-
-
tux.<domainName>.thread.min = int
-
Default value: 1
-
Minimum number of connections to the domain.
-
-
tux.<domainName>.thread.max = int
-
Default value: 1
-
Maximum number of connections to the domain.
-
-
tux.<domainName>.addr[.0] = string
-
Default value: NULL
-
IP address of the main gateway in the Tuxedo domain.
-
-
tux.<domainName>.port[.0] = int
-
Default value: 0
-
Port number of the main gateway in the Tuxedo domain.
-
-
tux.<domainName>.interval[.0] = int
-
Default value: 20 (Unit: second)
-
Interval at which the main gateway in the Tuxedo domain is scheduled.
-
-
tux.<BackUp domain Name>.addr[.x] = string
-
Default value: NULL
-
IP address of the backup gateway in the Tuxedo domain.
-
-
tux.<BackUp domain Name>.port[.x] = int
-
Default value: 0
-
Port number of the backup gateway in the Tuxedo domain.
-
-
tux.<domainName>.interval[.x] = int
-
Default value: 20 (Unit: second)
-
Interval at which a backup gateway in the Tuxedo domain is scheduled.
-
-
tux.<domainName>.svc = string
-
Default value: NULL
-
Name of a Tuxedo service to be called from the Tuxedo domain. To specify multiple names, separate each name with a comma (,).
-
-
tux.<clusterName>.svc = string
-
Default value: NULL
-
Name of a service corresponding to a cluster instead of a remote domain when a cluster domain is set. In this case, the specified service can be called though a remote domain under the cluster. To specify multiple names, separate each name with a comma (,).
-
-
tux.<BackUp domain Name>.notx = boolean
-
Default value: false
-
Option to set not-transaction mode of the Tuxedo domain.
-
-
tux.<BackUp domain Name>.backup = string
-
Default value: NULL
-
Name of the backup domain for a Tuxedo domain. The backup domain cannot be the main domain. It cannot be set along with a backup gateway function.
-
-
tux.mbean = boolean
-
Default value: false
-
Option to register MBean for JTC Admin. JTC Admin is supported in JEUS 6 fix#7 and later.
-
-
tux.inbound.threadpool = int
-
Default value: 1
-
Number of threads used by JTC for EJB calls in requests from Tuxedo to JEUS. Processing EJB calls in a single thread may degrade performance; using multiple threads enables concurrent processing and can improve throughput.
-
The following are examples of webt.properties by case:
-
When using mirror
tux.local.name=LJEUS1 tux.remote.name.list=TJEUS1 #### Main tux.TJEUS1.addr=160.61.1.121 tux.TJEUS1.port=40001 tux.TJEUS1.retry=0 tux.TJEUS1.interval=10 #### Mirror 1 tux.TJEUS1.addr.1=160.61.1.122 tux.TJEUS1.port.1=40001 tux.TJEUS1.retry.1=0 tux.TJEUS1.interval.1=10 #### Mirror 2 tux.TJEUS1.addr.2=160.61.1.131 tux.TJEUS1.port.2=40001 tux.TJEUS1.retry.2=0 tux.TJEUS1.interval.2=10
-
When using a backup
tux.local.name=TDOM1 tux.remote.name.list=TDOM2,TDOM3 tux.default.remote=TDOM2 tux.TDOM2.addr=192.0.0.1 tux.TDOM2.port=5000 tux.TDOM2.backup=TDOM3 tux.TDOM3.addr=192.0.0.2 tux.TDOM3.port=5000
-
When using a cluster
tux.cluster.name.list=RCDOM1,RCDOM2 tux.RCDOM1.remote.name.list=TDOM2,TDOM3 tux.RCDOM2.remote.name.list=TDOM2 tux.RCDOM1.svc=TOUPPER,TOUPPER2,FDLTOUPPER,FDLTOUPPER2 tux.RCDOM2.svc=TOUPPER,FDLTOUPPER tux.TDOM2.addr=192.0.0.1 tux.TDOM2.port=5000 tux.TDOM3.addr=192.0.0.2 tux.TDOM3.port=5000
-
When using POJO (inbound)
tux.beans.service.list=TOUPPER,TOLOWER tux.beans.TOUPPER.class=tmax.qa.sample.JtcBean1 tux.beans.TOLOWER.class=tmax.qa.sample.JtcBean2
-
When using EJB (inbound)
tux.ejbs.service.list= GSVC01 tux.ejbs.GSVC01.export=echotest tux.ejbs.GSVC01.method=setStringEchoTux
For more information about WebT configuration, refer to Tmax WebT User Guide. |
1.2. Configuring Startup Method
Register JTC as a Startup class in an engine configuration file. Only one JTC can start in a single container.
The following example shows how to set the Startup method in JEUSMain.xml.
<lifecycle-invocation> <class-name>tmax.webt.TuxBootstrapper</class-name> <invocation> <invocation-method> <method-name>init</method-name> </invocation-method> </invocation> </lifecycle-invocation>
After setting the Startup method in JEUSMain.xml, the webt.properties file of an application is automatically selected as the configuration file.
When multiple engine containers are used, each container requires a separate configuration file. A connection that has separate settings is required for each engine container.
<lifecycle-invocation> <class-name>tmax.webt.TuxBootstrapper</class-name> <invocation> <invocation-method> <method-name>init<method-name> <method-params> <method-param> java.lang.String </method-param> </method-params> </invocation-method> <invocation-argument> config-filename </invocation-argument> </invocation> </lifecycle-invocation>
Since JTC communicates with a Tuxedo domain gateway one on one with a socket, Tuxedo services cannot be shared using JEUS clustering.
If JEUS_HOME/lib/application/webt.properties exists or a separate webt.properties is set with -Dwebt.properties=<config-filename> in <command-option> under <node> of JEUSMain.xml when a configuration file is specified for JTC, the settings are not applied appropriately because the settings are duplicate. Note that only one webt.properties file can be used in a single container. |
1.3. Configuring Tuxedo
Register a domain management server, a gateway management server, and a domain gateway server in the SERVERS section. In Tuxedo 7.2 or later, use [-t] for the CLOPT option.
The following is an example of registering servers in the SERVERS section.
*SERVERS DMADM SRVGRP = GROUP1 SRVID = 1 CLOPT = "-At -r -o /user/tux/log/DMADM.out" GWADM SRVGRP = GROUP2 SRVID = 1 CLOPT = "-At -r -o /user/tux/log/GWADM.out" GWTDOMAIN SRVGRP = GROUP2 SRVID = 2 CLOPT = "-At -r -o /user/tux/log/GWTDOMAIN.out"
1.4. Configuring Tuxedo Domain
Set the Tuxedo local domain, a JEUS remote domain in which JTC is installed, and the name of the JEUS service to be called from Tuxedo in the Tuxedo domain configuration file.
The following is an example of the Tuxedo domain configuration file.
*DM_LOCAL_DOMAINS TDOM1 GWGRP = GROUP2 TYPE = TDOMAIN DOMAINID = "TDOM1" BLOCKTIME = 20 CONNECTION_POLICY = INCOMMING_ONLY DMTLOGDEV = "/user/tux/log/TLOG" AUDITLOG = "/user/tux/log/ALOG" DMTLOGNAME = "DMTLOG_TDOM1" *DM_REMOTE_DOMAINS TDOM2 TYPE = TDOMAIN DOMAINID = "TDOM2" *DM_TDOMAIN TDOM1 NWADDR = "//211.56.251.175:5000" TDOM2 NWADDR = "//192.168.1.35:6000" *DM_REMOTE_SERVICES TOLOWER RDOM = "TDOM2" JEUSXA RDOM = "TDOM2"
Note the following when setting CONNECTION_POLICY and DMTLOGDEV.
Item | Description |
---|---|
CONNECTION_POLICY |
Must be set to INCOMING_ONLY. |
DMTLOGDEV |
The TLOG device file must be set to use a global transaction. |
Since JTC supports only one-way connections, setting a corresponding remote domain address is extraneous. A message that the address is not set is recorded in ULOG when Tuxedo first starts, but it can be ignored.
In the Tuxedo configuration file, the local domain address must be identical to the remote domain address set in JTC. The JTC local domain name must be identical to the remote domain name in the Tuxedo configuration file.
The following is an example of creating a TLOGDEV file to use a transaction.
/user/tux>tmadmin –c tmadmin - Copyright (c) 1996 BEA Systems, Inc. Portions * Copyright 1986-1997 RSA Data Security, Inc. All Rights Reserved. Distributed under license by BEA Systems, Inc. TUXEDO is a registered trademark. > crdl –z <tlogfilepath> [-b <blocksize>] [-o <configoffset>] crdl –z /user/tux/log/TLOG
1.5. Starting JEUS and Tuxedo
Start JEUS and Tuxedo after developing an application and setting the configuration file.
The following applies the configuration file to Tuxedo and starts it.
tmloadcf –y <TuxedoConfiguationFile> dmloadcf –y <TuxedoDomainEnvironmentFile> tmboot –y
The following command starts JEUS.
jeus –xml –U <adminuser> -P <password>
2. JTC Inbound
JTC enables Tuxedo to communicate with JEUS. JEUS EJB or a general class (Bean) can be called when JTC communicates with a Tuxedo TDomain Gateway.
A message is sent to JTC through TDomain Gateway when a service registered in TDomain Gateway is called by a Tuxedo client or a server application using tpcall. An EJB or a general class corresponding to a service name set in webt.properties by JTC and used as a parameter of tpcall is called.
2.1. Configuring EJB Service Call
To call an EJB service through JTC inbound communication, configure JTC inbound with the following steps:
-
Configuring webt.properties
-
Configuring Tuxedo
-
Configuring Tuxedo Domain
-
Starting JEUS and Tuxedo
To call EJB from JTC, EJB must be deployed with the 'shared type.' |
Configuring webt.properties
The following are the basic formats and setting items of webt.properties.
tux.ejbs.service.list = <ServiceName> tux.ejbs.<ServiceName>.export = <EJB module> tux.ejbs.<ServiceName>.method = <method>
-
tux.ejbs.service.list = string
-
Default value: NULL
-
Specifies all service names recognized by Tuxedo to call an EJB service. To specify multiple items, separate each item with a comma (,).
The service name is used when tpcall is called by a Tuxedo client or server. If the service name is called, an EJB method set for export is called. An argument and a return value of the method must use tmax.jtc.io.TuxBuffer.
-
-
tux.ejbs.<ServiceName>.export = string
-
Default value: NULL
-
Specifies an EJB module name used to call a service.
-
-
tux.ejbs.<ServiceName>.method = string
-
Default value: NULL
-
Specifies the name of a method of an EJB module that corresponds to a service.
-
The following is an example of webt.properties:
tux.ejbs.service.list = GSVC01 tux.ejbs.GSVC01.export = EchoTest tux.ejbs.GSVC01.method = setStringEchoTux
Tuxedo calls the GSVC01 service to call the setStringEchoTux function of JEUS EchoTest EJB.
Configuring Tuxedo
Register a service in the SERVICE section as follows:
*SERVICE GSVC01
Configuring Tuxedo Domain
Set the name of the JEUS service to be called by Tuxedo in the DM_REMOTE_SERVICES section of the Tuxedo domain configuration file.
*DM_REMOTE_SERVICES GSVC01 RNAME = "GSVC01" RDOM = "TUXGW1" *DM_TDOMAIN TUXGW1 NWADDR = "//192.168.37.100:9521"
Starting JEUS and Tuxedo
Start JEUS and Tuxedo after developing an application and setting the configuration file.
For more information about how to start JEUS and Tuxedo, refer to Starting JEUS and Tuxedo.
2.2. Configuring Bean Service Call
To call a Bean service through JTC inbound communication, use the following JTC inbound configuration process.
-
Configuring webt.properties
-
Configuring Tuxedo
-
Configuring Tuxedo Domain
-
Starting JEUS and Tuxedo
Configuring webt.properties
The following are the basic formats and items of webt.properties.
tux.beans.service.list = <ServiceName> tux.beans.<ServiceName>.class = <ClassName>
-
tux.beans.service.list = string
-
Default value: NULL
-
Specifies all service names recognized by Tuxedo to call a Bean service. To specify multiple items, separate each item with a comma (,).
The service name is used when tpcall is called by a Tuxedo client or server. Only a class that implements the tmax.jtmax.JtmaxService interface can be called.
When Tuxedo calls a service, JTC creates a registered class using a reflection API and calls a JtmaxService interface service function. Once the object is created, it is reused.
The following describes each JtmaxService interface.
Interface Description Void initalize()
Called when an object is first created.
Void destroy()
Automatically called when terminating.
BufferAccess service(BufferAccess)
Implements actions to be taken in a service. The parameter and return type is TuxBuffer.
If an implemented class is created as a JAR file and deployed in lib/application directory of JEUS, it is included in the class loader when JEUS starts. JTC can create objects in the class.
-
-
tux.beans.<ServiceName>.class = string
-
Default value: NULL
-
Specifies a class name used to call a service.
-
The following is an example of webt.properties:
tux.beans.service.list = GSVC02 tux.beans.GSVC02.class = test.JtcBeanSample
Configuring Tuxedo
Register a service in the SERVICE section as follows:
*SERVICE GSVC02
Configuring Tuxedo Domain
Set the name of the JEUS service called by Tuxedo in the DM_REMOTE_SERVICES section of the Tuxedo domain configuration file.
*DM_REMOTE_SERVICES GSVC02 RNAME = "GSVC02" RDOM = "TUXGW1" *DM_TDOMAIN TUXGW1 NWADDR = "//192.168.37.100:9521"
Example
<JtcBeanSample.java>
package tmax.qa.sample; import tmax.common.BufferAccess; import tmax.jtc.io.TuxStringBuffer; import tmax.jtmax.JtmaxService; import tmax.webt.WebtException; import tmax.webt.WebtSystem; public class JtcBeanSample implements JtmaxService{ public void destroy() throws Exception { } public void initialize() throws Exception { } public BufferAccess service(BufferAccess tux) throws WebtException { TuxStringBuffer tuxbuf = (TuxStringBuffer)tux; System.out.println("received string value : " + tuxbuf.getString()); TuxStringBuffer ret = new TuxStringBuffer(WebtSystem.getDefaultCharset()); ret.setString(tuxbuf.getString().toUpperCase()); return ret; } }
Starting JEUS Tuxedo
Start JEUS and Tuxedo after developing an application and setting the configuration file.
For more information about how to start JEUS and Tuxedo, refer to Starting JEUS and Tuxedo.
2.3. Creating a Message in a Service Function
This section describes how to create a message in the following service functions.
-
TuxStringBuffer
TuxStringBuffer configures STRING type messages.
TuxStringBuffer tux = new TuxStringBuffer(WebtSystem.getDefaultCharset());
The creator parameter is a charset-string. Use setString to input a STRING value and getString to get a STRING value. For more information, refer to TuxStringBuffer/TuxCarrayBuffer.
-
TuxCarrayBuffer
TuxCarrayBuffer configures CARRAY type messages.
TuxCarrayBuffer tux = new TuxCarrayBuffer(WebtSystem.getDefaultCharset());
The creator parameter is a charset-string. Use setBytes to input a byte[ ] value and getBytes to get a byte[ ] value. For more information, refer to TuxStringBuffer/TuxCarrayBuffer.
-
TuxFieldBuffer
TuxFieldBuffer configures FML type messages.
TuxFieldBuffer tux = new TuxFieldBuffer(true);
The creator parameter is 'true' if fml32 is used or 'false' if not. Use createField to create a field and getField to get a field. TuxFieldBuffer is used in the same way as WebtFieldBuffer. For more information, refer to TuxFieldBuffer.
3. Logs
3.1. Tuxedo
The following shows a Tuxedo environment variable and logs.
Configuring Environment Variables
Set the following log-related environment variable in the Tuxedo configuration file or enter it in a Linux kernel window.
export TMTRACE = on
Logs
After Tuxedo starts, service execution information is recorded in ULOG.
tail –f ULOG.111604 172503.Flik!GWTDOMAIN.262612: LIBGWT_CAT:1130: INFO: Disconnected from domain (domainid=<ARTEMIS>) 172514.Flik!GWTDOMAIN.262612: LIBGWT_CAT:1130: INFO: Disconnected from domain (domainid=<APOLLON>) 172605.Flik!GWTDOMAIN.262612: LIBGWT_CAT:2005: INFO: Receive connecting request from remote domain (domainid<ARTEMIS>) 172605.Flik!GWTDOMAIN.262612: LIBGWT_CAT:1128: INFO: Connection accepted from domain (domainid=<ARTEMIS>) 172614.Flik!GWTDOMAIN.262612: LIBGWT_CAT:2005: INFO: Receive connecting request from remote domain (domainid<APOLLON>) 172614.Flik!GWTDOMAIN.262612: LIBGWT_CAT:1128: INFO: Connection accepted from domain (domainid=<APOLLON>) 172134.Flik!qbb01.57514: 11162004: TUXEDO Version 6.5 AIX 2 4 007025954C00. 172134.Flik!qbb01.57514: LIBTUX_CAT:262: INFO: Standard main starting 172135.Flik!qbb01.57514: TRACE:at: { tpsvrinit(20, "qbb01 -g 24 -i 3100 -u Flik -U /log/tuxs/ULOG -m 0 -A -r -e /log/tuxs/stderr -o /log/svc/qbb01 -- -I port1024") 172135.Flik!qbb01.57514: ====> Tring to Connect Database ..... 172135.Flik!qbb01.57514: Connecting DB succeed SQLCODE[0] 172135.Flik!qbb01.57514: TRACE:at: } tpsvrinit = 0 172135.Flik!qbb01.123172: 11162004: TUXEDO Version 6.5 AIX 2 4 007025954C00. 172135.Flik!qbb01.123172: LIBTUX_CAT:262: INFO: Standard main starting 172135.Flik!qbb01.123172: TRACE:at: { tpsvrinit(20, "qbb01 -g 24 -i 3101 -u Flik -U /log/tuxs/ULOG -m 0 -A -r -e /log/tuxs/stderr -o /log/svc/qbb01 -- -I port1024") 172135.Flik!qbb01.123172: ====> Tring to Connect Database ..... 172135.Flik!qbb01.123172: Connecting DB succeed SQLCODE[0] 172135.Flik!qbb01.123172: TRACE:at: } tpsvrinit = 0 172141.Flik!xxc01.220310: 11162004: TUXEDO Version 6.5 AIX 2 4 007025954C00. 172141.Flik!xxc01.220310: LIBTUX_CAT:262: INFO: Standard main starting 172141.Flik!xxc01.220310: TRACE:at: { tpsvrinit(17, "xxc01 -g 91 -i 9170 -u Flik -U /log/tuxs/ULOG -m 0 -A -r -e /log/tuxs/stderr -o /log/svc/xxc01") 172141.Flik!xxc01.220310: TRACE:at: { tpopen() 172141.Flik!xxc01.220310: TRACE:at: } tpopen = 1 172141.Flik!xxc01.220310: TRACE:at: } tpsvrinit = 0 172814.Flik!xxc01.220310: gtrid x0 x41985b26 x182: TRACE:at: { tpservice({"myasset_login", 0x10, 0x200dab20, 1296, 0, -1, {0, -2, -1}}) 172814.Flik!xxc01.220310: gtrid x0 x41985b26 x182: TRACE:at: { tprealloc(0x200dab20, 65535) 172814.Flik!xxc01.220310: gtrid x0 x41985b26 x182: TRACE:at: } tprealloc = 0x200ddc40 172814.Flik!xxc01.220310: gtrid x0 x41985b26 x182: TRACE:at: { tpreturn(2, 0, 0x200ddc40, 0, 0x0) 172814.Flik!xxc01.220310: TRACE:at: } tpreturn [long jump] 172814.Flik!xxc01.220310: TRACE:at: } tpservice 172816.Flik!qbb01.57514: TRACE:at: { tpservice({"bb_04900_q1", 0x0, 0x200be3b0, 1264, 0, -1, {0, -2, -1}}) 172816.Flik!qbb01.57514: TRACE:at: { tprealloc(0x200be3b0, 65535) 172816.Flik!qbb01.57514: TRACE:at: } tprealloc = 0x200c14d0 172816.Flik!qbb01.57514: TRACE:at: { tpreturn(2, 0, 0x200c14d0, 0, 0x0) 172816.Flik!qbb01.57514: TRACE:at: } tpreturn [long jump] 172816.Flik!qbb01.57514: TRACE:at: } tpservice 172845.Flik!qbb01.123172: TRACE:at: { tpservice({"bb_04900_q1", 0x0, 0x200be3b0, 1264, 0, -1, {0, -2, -1}}) 172845.Flik!qbb01.123172: TRACE:at: { tprealloc(0x200be3b0, 65535) 172845.Flik!qbb01.123172: TRACE:at: } tprealloc = 0x200c14d0 172845.Flik!qbb01.123172: TRACE:at: { tpreturn(2, 0, 0x200c14d0, 0, 0x0) 172845.Flik!qbb01.123172: TRACE:at: } tpreturn [long jump] 172845.Flik!qbb01.123172: TRACE:at: } tpservice 172846.Flik!xxc01.220310: gtrid x0 x41985b26 x183: TRACE:at: { tpservice({"myasset_login", 0x10, 0x200f40c0, 1296, 0, -1, {0, -2, -1}}) 172846.Flik!xxc01.220310: gtrid x0 x41985b26 x183: TRACE:at: { tprealloc(0x200f40c0, 65535) 172846.Flik!xxc01.220310: gtrid x0 x41985b26 x183: TRACE:at: } tprealloc = 0x200f40c0 172846.Flik!xxc01.220310: gtrid x0 x41985b26 x183: TRACE:at: { tpreturn(2, 0, 0x200f40c0, 0, 0x0) 172846.Flik!xxc01.220310: TRACE:at: } tpreturn [long jump] 172846.Flik!xxc01.220310: TRACE:at: } tpservice
3.2. WebT
The following shows WebT environment variables and logs.
Configuring Environment Variables
Set the following log-related environment variables in webt.properties.
log.level = debug log.dir = /user/jeus/logs/ log.file = webtJtc.log log.bufsize = 1024
Logs
The following is an example of WebT.log.
tail –f webtJtc.log [2004.11.16 17:38:06] [I] WebT(version:3.5.6.5) logger start [2004.11.16 17:38:06] >>>>> WebtSystem Properties <<<<< input buffer size : 4096 output buffer size : 4096 log level : 2 log file places : /Jeus/jeus42/logs/JeusServer/ log file name : webtJtc.log log buffer size : 1024 fdl file : null enable/disable pipe : false default character set : null extended tmax header size : false pool alive check : false pool idle check : false monitoring interval time : 60 [2004.11.16 17:38:06] [I] TuxMonitor start [2004.11.16 17:38:06] [W] transaction log directory is not specified [2004.11.16 17:38:07] [I] socket connect successful : 160.61.1.190:40002 [2004.11.16 17:38:07] [I] start transceiver FOCUS[1] 160.61.1.190:40002 [2004.11.16 17:38:08] [I] connect successful. tx_timeout = 30000, tp_timeout = 60000 [000000] [2004.11.16 17:38:27] [RMTSVC-001] tpcall start. svc = myasset_login, attr = no attributes are set, timeout : -1[000000] [2004.11.16 17:38:27] [RMTSVC-002] tpcall end[000000] [2004.11.16 17:38:28] [RMTSVC-001] tpcall start. svc = bb_04900_q1, attr = no attributes are set, timeout : -1[000000] [2004.11.16 17:38:29] [RMTSVC-002] tpcall end[000000] [2004.11.16 17:42:26] [RMTSVC-002] tpcall end[000000] [2004.11.16 17:42:26] [RMTSVC-001] tpcall start. svc = bb_04900_q1, attr = no attributes are set, timeout : -1[000000] [2004.11.16 17:42:27] [RMTSVC-002] tpcall end[000000] [2004.11.16 17:42:27] [RMTSVC-001] tpcall start. svc = bb_04900_q1, attr = no attributes are set, timeout : -1[000000] [2004.11.16 17:42:27] [RMTSVC-002] tpcall end[000000] [2004.11.16 17:42:27] [RMTSVC-001] tpcall start. svc = bb_04900_q1, attr = no attributes are set, timeout : -1[000000] Logs recorded when setting "navice.debug=on" (Used for debugging because it is an internal option) [2004.11.16 19:03:34] 160.61.194.107 "GET /test/tuxtest.jsp" 200 57ms [2004.11.16 19:03:34] 160.61.194.107 "GET /test/TuxTest1.jsp" 200 45ms log4j:ERROR Failed to rename [/logdir/jtc/tuxedo.log] to [/logdir/jtc/tuxedo.log .2004-11-15]. >>>>>>>>>>>>>>>>>>>>>>>> Domain [FOCUS_TEST] <<<<<<<<<<<<<<<<<<<<<< TuxDomain : [FOCUS_TEST] [NAVIS] started : f7 27 cf 40 00 00 00 00 00 00 00 00 [0]::0 [NAVIS] end : f7 27 cf 40 00 00 00 00 00 00 00 00 [0]::0 [NAVIS] commit : f7 27 cf 40 00 00 00 00 00 00 00 00 [0]::0 [NAVIS] prepare : f7 27 cf 40 00 00 00 00 00 00 00 00 [0]::0 [2004.11.16 19:03:37] 160.61.194.107 "GET /test/XATest.jsp?cnt=1" 200 512ms [2004.11.16 19:03:38] 160.61.194.107 "GET /test/NonXATest.jsp?cnt=1" 200 231ms [2004.11.16 19:03:51] 160.61.194.107 "GET /test/TuxTest1.jsp" 200 1ms TuxDomain : [FOCUS_TEST] [NAVIS] started : f7 27 cf 40 01 00 00 00 00 00 00 00 [0]::0 [NAVIS] end : f7 27 cf 40 01 00 00 00 00 00 00 00 [0]::0 [NAVIS] commit : f7 27 cf 40 01 00 00 00 00 00 00 00 [0]::0 [NAVIS] prepare : f7 27 cf 40 01 00 00 00 00 00 00 00 [0]::0