Product fix history

This section lists the closed APARs before version 6.1.2 of BTT.
Table 1. List of closed APARs against version 6.1.1
APAR Description
JR30349 WAS throws out an Array index out of bound exception when the application gets a JCA Connection.
JR3046 If you define <step1 class="xxx" on1Do=“return”/> in the operation step, when the return value of the step is not 1, BTT throws the information: Array index out of bound when getting steps.
JR30462 The Validation tool reports trace type not found error by mistake.
JR30581 CCSID cannot be set for MQ connection.
JR30582 When operState and htmlState are used in mixture, a debug level information should be thrown instead of an information level log.
JR30712 The IO Exception is thrown when there are comments in Chinese in the XML file.
JR30816 Sometimes, BTT LU0 can not receive multi-frame messages from host .
JR31018 BTT Web Application fails when cookie is disabled in the Internet Explorer.
JR31060 When the re-connection period is over, BTT creates a lot of threads to notify WAS that there is a connection error. The fix avoids creating too many threads.
JR31902 Add the ASYNC event support to LU0.
JR32045 Defining <refService> within a context is supported. Context maintains the service lifecycle management. The following code example demonstrates how to define <refService>:
<context id="accountTransferCtx" type="oper">
          <refKColl refId="accountTransferData"/>
          <refService refId="JournalService" 
           alias="JournalService" type="journal"/>
     </context>
JR32194 Establishsessiontimeout should be no less than 50 seconds, because BTT needs at least 50 seconds to identify that the session establishment is failed.
JR32405 MQ 2018 error: MQ connection is unavailable or disconnected after MQ connection pool is initialized.
JR32173 There are globalization problems in initializer and elementfactory. The solution is to make the encoding of the file and the definition in the first line of the file consistent.
Table 2. List of closed APARs against version 6.1.0
APAR Description
JR29446 NullPointerException is thrown when initiating html flow processor.
JR29837 Improper exception is thrown from BTT LU0 JCA when destroying connection.
IZ25604 OOM error when parsing client request.
JR30273 Html Request Handler throws abnormal exception when the sessionpersistence value is set to be true in BTTSM.properties.
JR30458 log.error() can not accept multiple parameters.
JR30459 OperDef Tag supporting multiple operation definitions problem: When more than one operation is defined in one self-defined operation, the self-defined XML must be defined within the same directory as BTT.xml.
JR30496 When the application fails to get a new connection from LU0 Connection Factory, the bid thread of the unsuccessful ManagedConnection is not destroyed.
Table 3. List of closed APARs against version 5.2
APAR Description
JR26373 NameNotFoundException is thrown from Context. The JMS function of BTTEvent is turned on by default. So, if JMS queue is not configured in WebSphere® Application Server, exceptions are thrown.
JR26375 The getElementAt() API is missing from OperationStep.
JR26378 Several GUI problems are restricting the use of the application. When using the DSEGuiBeans for the Java™ client, frequent screen freezes and unexpected behaviour with text fields and combo boxes are encountered.
JR26627 ava.lang.ClassCastException is thrown when using org.apache.struts.ActionMapping and com.ibm.btt.struts.BTTActionMapping together in BTT 5.2.0.
JR26283 The following two verbs are added to get the LU name from an LU62 connection:
  • Verb SYNC_GET_LOCAL_LU_NAME, used to get local LU name for the LU62 conversation
  • Verb SYNC_GET_PARTNER_LU_NAME, used to get remote LU name for the LU62 conversation.

For the two new verbs, BTT will call SNA CPI-C APIs: Extract_Local_LU_Name and Extract_Partner_LU_Name by JNI call.

Note: The two APIs only apply to the Communication Server running on AIX® and Linux® systems.
The following code is the sample code for the two verbs:
Lu62InteractionSpec ixnSpec = new Lu62InteractionSpec(); 
Lu62Record outgoingData = new Lu62Record(); 		  
Lu62Record returnData = new Lu62Record(); 		   
ixnSpec.setInteractionVerb(ixnSpec.SYNC_GET_LOCAL_LU_NAME); 		   
connection.execute(ixnSpec, outgoingData, returnData); 		   
System.out.println("Local LU name :"+returnData.getData()); 
JR27142 String leaks in the CHA EJB cache.
JR27127 In general, there are two ways to manage conversations when sending continuous messages. One is to establish a new conversation for every message. The other is to create a single conversation and reuse it for sending different messages. The second method results in better performance. This APAR Viewer provides support for the first conversation mode: the host closes the conversation used by each unsolicited message.
JR27170 This APAR Viewer provides two parameters to configure the length of a TID/thread name in trace.
JR27198 In a performance environment, there might be thousands of threads pending, which can cause an out of memory crash in WebSphere Application Server. Each thread is waitOn Semaphore in the receive() method. When the connection is terminated, the waiting thread cannot be notified on Semaphore. As a result, it cannot exit. This APAR Viewer changes the event notification method to avoid creating too many threads.
JR27406 BTT does not support Opera Browser.
JR27597 BTT provides an extension for WTS to implement the BTTRequestProcessorUtil.getProcessId (HttpServletRequest request) method. However, when processing a transaction request, createProcessorId() is invoked unexpectedly, which causes the BTT module to replace the original processor ID with a new one. As a result, a new context is created. This causes a memory leak.
JR27322 Referenced objects are reserved after the conversation/Lu62ManageConnection is terminated. These objects should be deleted, because this causes a memory leak.
JR27685 BTT LU62 JCA parameter establishConversationRetries does not work if its value is greater than 0.
JR27954 When BTT JCA deallocates LU conversation, a conversation object must be printed in the trace. However, before printing, the conversation object is set to null. After BTT JCA deallocates an LU conversation, the object in the conversation is accessed. This APAR Viewer fixed these two problems.
JR28052 Every time BTT JCA creates a conversation, it loads a library, which is time-consuming.
JR28061 When implementing an invoker class which extends com.ibm.btt.cs.invoker.base.BeanInvokerImpl, the reference to the CHA Instance Id from the HttpSession will be removed and the HttpSession will be invalidated. So when the BTT client application calls the logoff operation (BTTServerOperation) on the server, the IllegalStateException from http session will be thrown.
JR28183 Request WAS pool to destroy BTT JCA connection immediately.
JR28225 JCA Performance issue: Exception is thrown when server stops.
JR27898 Missing header message when LU62 Message has multiple frames.
JR28208 Request to add parameter in BTT LU0 JCA to control whether to send TERMSELF after timeout.
JR28209 Change Request: a new custom property "sendInitSelf" is provided in order to disable sending init-self. The default value is true. Set it to false to disable sending init-self.
JR28345 JCAERR00047R timeout problem. Convert the getListenThreadSem() method to a synchronized method to prevent JCA timeout problem.
JR28687 BTT JCA supports 64-bit AIX systems.
JR28841 LU API SYNC_GET_ACTUAL_LU_NAME does not work in version 5.2.
JR28704 Unknown corrupt trace message because of the I18N problem.
JR28375 The establishSession is slow for the listen thread because run() is pending on sleep(timeBetweenBidRetry) if init() is not executed.
IY43326f_1 Session down is not correctly recovered when Lu0SnaSession is using a LU that belongs to a Communication Server pool.
Table 4. List of closed APARs against version 4.3
APAR Description
IZ01114 In the JCA clone environment, a new method in the BTT LU0 service for closing an LU0 session is established on anther clone. Currently, the ccClose() method uses the user session ID, , but you need the same method using the LU0 name, which is passed as a parameter. A new API ccClose(String luName) is added to Lu0SnaSessionService and Lu0SnaSession class.

The method will call Communication Server NOF API deactive_lu0_to_3 to terminate the LU0 session for the specified LU name. On the other clone that has already established a session for the LU, it will receive an UN-BIND message from the host and terminate the session.

JR26363 Add a new method setInitSelfUserData in Lu0SnaSessionService to send user data to the host when BTT LU0 Connector send INIT-Self to establish LU0 session.
JR24998 Cannot establish conversation with host using LU6.2.