eFix (APAR): pq52454 Status: efix For Release: WebSphere 4.0, 4.0.1 For Edition: WebSphere AE, AEs For ContainerTypes: AEServer, AEsServer CMVC defect: PQ52454 Byte size of APAR: 1,020,174 bytes Date: 9/21/01 Abstract: Connection Pooling cumulative e-fix Directions to apply efix: 1) Create temporary "efix" directory to store the zip/tar file: AIX: /tmp/WebSphere/efix Solaris/Linux: /tmp/WebSphere/efix Windows: c:\temp\WebSphere\efix 2) Copy zip/tar file to the directory (The zip/tar file will be created by WebSphere L2 Support. It will contain the the efix jar file, the readme.txt file, and any other standard information required by IBM) 3) Unzip/untar the file 4) Shutdown WebSphere 5) Run the jar file with the following command answering questions/prompts as they appear: java -jar -TargetDir 6) Restart WebSphere 7) The temp directory may be removed but the zip/tar file should be saved. Do not remove any files created and stored in the /WebSphere/AppServer/eFix/ directories. These files are required if an efix is to be removed. Directions to remove an efix: NOTE: EFIXES MUST BE REMOVED IN THE ORDER THEY WERE APPLIED. DO NOT REMOVE AN EFIX UNLESS ALL EFIXES APPLIED AFTER IT HAVE FIRST BEEN REMOVED. YOU MAY REAPPLY ANY REMOVED EFIX. Example: If your system has efix1, efix2, and efix3 applied in that order and efix2 is to be removed, efix3 must be removed first, efix2 removed, and efix3 re-applied. 1) Change directory to the efix location (/WebSphere/AppServer/eFix/). 2) Shutdown WebSphere 3) Run the backup jar file with the following command: java -jar 4) Restart WebSphere Directions to re-apply an efix: Follow the instructions for applying an efix. If the backup files still exist (from the previous efix application), you will be prompted to overwrite. Answer "yes" at the overwrite prompts. Trouble shooting -------------------------------------------------------------------------------------- o If an efix complains about the container type and you are sure it should match, contact WebSphere L2 Support for assistance with the -SkipContainerCheck option to the efix jar. Additional Information: ------------------------------------------------------------------ This Connection Pooling E-fix is cumulative WAS 4.0 AE All previous non-custom Connection Pooling E-fixes are included in this E-fix. Related CMVC internal defects: 100101 When using PreparedStatement.setString() to Oracle need to check the size of the string. Above the limits, which depend on the version of the server you use, you should use setBinaryStream() or setCharacterStream() instead. 100688.3 Internal class loader problem. 107920 Internal optimization for getting portability layer. 111094 Split Internal configuration properties to separate those used for Connection Pooling and those used for the underlying DataSource. This solves the related defects: 110164 Recovery warning "Could not find property informixLockModeWait" 107549 Extra performance overhead of logging too many unneeded properties for XA recovery. 108886 Empty string for password gets NullPointerException 111356 Cleanup of connection related object sometimes is not correct when exceptions occur. 111385 Fix internal build error. 111472 Design change of PreparedStatementCache for better performance. Old design had the maximum number of prepared statements cached managed on a per DataSource basis. New design manages preparedStatement caching on a per connection basis. See related defect description 111573 below for additional information. 111477 Add oracleStmtCacheSize property. Add a property "oracleStmtCacheSize", which can be set on a datasource to turn on the oracle statement caching to the specified value. This value will pertain to all connections created by this datasource. The default for this value is "0". 111518 Calling PreparedStatement.clearParameters() is slow. Replace with simpler code which achieve the same function and with better performance. Also fixes hang on Solaris/DB2 in PreparedStatement.clearParameters(). 111573 Map the MaxPreparedStatementCacheSize supplied by user from PerDataSource to Per connection by dividing MaxPreparedStatementCacheSize by MaxConnections to get number statements per connection. If MaxPreparedStatementCacheSize < MaxConnections, default to a cacheSizeLimit of one per connection. 111581 One of the above changes caused a failure in creating the Admin DB. This defect fixes that problem. 107920.3 Enable XA to work correctly, which was backleveled by 107920. 111684 Remove autoCommit defer which was never intended to be integrated. 111811 Clear Parameter ignored first parameter set. Which resulted in a exception like java.sql.SQLException: Unsufficient number of parameter were set before execution{1, 2}. Parameter 0 was not cleared. 111816 Pass user & password when getting connection for PortabilityLayer; handle weird Sybase class heirarchy where javax.sql.DataSource#getConnection cannot be called