RELEASE NOTES

for
XMLink 3.20

 

 

The changes in XMLink 3.20 include the following new user methods for com.prolifics.tconn.CArrayRecord:

 

                  byte[] b)
           throws javax.resource.ResourceException

Throws:

javax.resource.ResourceException

 

                throws javax.resource.ResourceException

Throws:

javax.resource.ResourceException

 

Previously addIn() only supported a String for its second parameter.

 

Note that the above methods are also available to StringRecord, since StringRecord extends CArrayRecord.  However, use caution when passing a byte array to the addIn() method of StringRecord.  A byte array containing embedded zeros will be truncated when a StringRecord is sent to a Tuxedo server.  Therefore, for International Character support, where the required encoding for a Java String may contain embedded zeros, a CArrayRecord should be used to send the String data, rather than a StringRecord.

 

Also, when getBytes() is called for a StringRecord or CArrayRecord for which a String was used as the second argument to addIn(), then the byte array returned is determined by the encoding property of the CArrayRecord or StringRecord.  Note that the default encoding is ISO-8859-1, which is a single byte per character encoding.

 

The above methods can throw a ResourceException only in the case where the encoding property value used for the CArrayRecord or StringRecord is unknown or is invalid for the byte array.  In these cases the ResourceException that is thrown contains an UnsupportedEncodingException as its initial cause.

 

 Other changes in XMLink 3.20 include:

 

 

Some log messages use the following syntax when referring to a connection: <ManagedConnection.hashCode()>.<Tuxedo Context>

 

This feature is primarily intended to help Prolifics analyze customer problems.  A new class, com.prolifics.tconn.UlogLogger, extends java.util.logging.Logger, and is used by several XMLink classes.  UlogLogger writes to the Tuxedo client side ULOG file in addition to the default location when XMLINK_DEBUG is set to “y” in the operating system’s environment.  It uses whatever detail level is set for the default logger for the subsystems named by XMLink’s class names.  If XMLINK_DEBUG is not set, or it is set to “n”, then only the default log file is written to.  If the detail level is “OFF”, no logging will be performed for either file.

 

The default log file and detail level is whatever is used by the Logger implementation class provided by the current LogManager.  When using WebSphere 6.1, for example, the default log file is “${SERVER_LOG_ROOT}/trace.log,” though this filename can be changed in the Administrative Console.  Also, when using WebSphere 6.1, the degree of logging can be configured in the Administrative Console by going to “Troubleshooting->Logging and Tracing->server1->Change Log Detail Levels.”  There among the classes for which the trace level can be set is “com.prolifics.tconn.*,” along with some specific classes within the package.  Logging can be turned off by choosing “No Logging.”