Accessibility

TechNote

ColdFusion MX 6.1: Hot fix for data source connection pooling

With ColdFusion MX 6.1, if a data source is configured to maintain connections and the number of connections are limited (under Advanced Settings in the data source), it may cause the server to hang when trying to get a new connection, particularly if the server is under load.

This is caused by the connection pooling code looping while trying to get a connection. The code loops every 3 seconds to tryto obtain a connection, but this cannot happen for at least the 20 minute default skimmer, resulting in the pool becoming locked and no further connections are able to be obtained. This has been identified as issue 53486. A hot fix is provided in this TechNote to address the issue.

Note: This hot fix addresses the issue for applications which use data sources created within the ColdFusion Administrator, as well as data sources created in the J2EE configuration with WebSphere or WebLogic administrator tools. The hot fix does not resolve the issue for data sources created in the J2EE configuration with JRun when they are created through the JMC (they will appear in the ColdFusion Administrator with a driver type of 'J2EE').

The hot fix makes the following changes to data source pool handling in ColdFusion MX 6.1:

  • If the pool is at capacity, a new connection request will replace the oldest idle connection, if there is one.
  • The maximum number of connections to a data source is determined by the 'Restrict connections to' value in the Advanced Settings section of the data source. If the maximum number of connections is currently in use, ColdFusion will wait no longer than 10 seconds before returning an error. Once a connection is available, the 'Login Timeout (sec)' setting still determines how long ColdFusion will attempt to establish the new connection.
ColdFusion MX 6.1 - Server Configuration

Follow the instructions below to install the hot fix for ColdFusion MX 6.1 in the server configuration. For J2EE servers including JRun, use the instructions under the J2EE Configuration section.

Windows

  1. Download the hot fix (8K).
  2. Stop ColdFusion.
  3. Create the directory cf_root\runtime\servers\lib if it does not exist.
  4. Extract hf53486_61.jar from the downloaded ZIP file, into the following directory:
    cf_root\runtime\servers\lib\
  5. Restart ColdFusion.
  6. Examine the ColdFusion MX Administrator System Information page and confirm that hot fix hf53486_61.jar shows in the Java Class Path list.
Unix
  1. Download the hot fix (8K).
  2. Stop ColdFusion.
  3. Create the directory cf_root/runtime/servers/lib if it does not exist.
  4. Extract hf53486_61.jar from the downloaded ZIP file, into the following directory :
    cf_root/runtime/servers/lib/
  5. Edit the file cf_root/runtime/bin/jvm.config:
    1. Locate the JVM classpath section.
    2. Add {application.home}/runtime/servers/lib as the first entry in the java.class.path list.

      For example:
      # JVM classpath java.class.path={application.home}/runtime/servers/lib, {application.home}/runtime/../../src, {application.home}/lib/cfusion.jar, {application.home}/runtime/lib/webservices.jar
  6. Restart ColdFusion.
  7. Examine the ColdFusion MX Administrator System Information page and confirm that the6,1,0,hf53486_61.jar file is listed in the Java Class Path information.


ColdFusion MX 6.1 - J2EE Configuration
ColdFusion MX 6.1 - J2EE Configuration with JRun

Follow the instructions below to install the hot fix for ColdFusion MX 6.1 in the J2EE configuration with a J2EE server including JRun:

  1. Download the hot fix (8K).
  2. Extract hf53486_61.jar from the downloaded ZIP file, into the cf_root/WEB-INF\lib directory.
  3. Change the Context Parameter cf.class.path
    in the Deployment Descriptor (cf_root\WEB-INF\web.xml)
    for the Web Application "Macromedia ColdFusion MX" (cfusion.war)

    from:
    ./WEB-INF/cfusion/lib/cfusion.jar

    to:
    ./WEB-INF/lib/hf53486_61.jar,./WEB-INF/cfusion/lib/cfusion.jar

    • Note that the two paths in cf.class.path each start with a period and are separated by a comma.
    • Do not confuse ./WEB-INF/lib (which contains the hot fix jar file) with ./WEB-INF/cfusion/lib (which contains cfusion.jar).
  4. Stop and restart the J2EE server for changes to take effect.
  5. Examine the ColdFusion MX Administrator System Information page and confirm that hot fix hf53486_61.jar shows up in the Version section like 6,1,0 hf53486_61. Note: You will not see this jar in the Java Class Path because the hot fix JAR is being loaded in the Coldfusion Class Path.
  6. Repeat steps for each deployed instance of ColdFusion.
About changing the Deployment Descriptor
  • Deployment Descriptor Context Parameters can be changed using the J2EE Administrator Control Panel (WebLogic and JRun) or by using the Application Assembly Tool (Websphere). If your J2EE server does not have such a tool, you must make sure that the Context Parameter change is made for all deployed instances of ColdFusion. It may be necessary to un-deploy CFMX, make the change, then re-deploy CFMX. See your J2EE documentation for other methods.
  • Be sure to Persist (WebLogic) or Save (Websphere) your changes after you change the value for cf.class.path.
  • You will usually need to stop and restart your J2EE server to make these changes effective.

Additional Information


AlertThis content requires Flash

To view this content, JavaScript must be enabled, and you need the latest version of the Adobe Flash Player.

Download the free Flash Player now!

Get Adobe Flash Player

Creative Commons License

Search Support


Document Details

ID:tn_18980
Browser:Chrome
Internet Explorer
Netscape
Opera
Safari
Firefox
Database:DB2
Informix
MySQL
Oracle
SQL Server
Sybase
MS Access

Products Affected:

coldfusion