Connection Pooling Deadlocks with User-based Security Models

This is an explanation of why someone with a ColdFusion application that uses User-based Security Models can get themselves into a connection pool deadlock, resulting in "Timeout trying to establish connection" errors even when the database sees no requests for connections coming in.

This follows up on a previous blog entry here that describes User-based Security Models with regard to connection pooling in general. If your're reading this and are confused, try reading the other blog entry first.


Simple ColdFusion Stored Procedure Example

I was recently asked for an small example to create an Oracle stored procedure and a ColdFusion page to run it, so for the benefit of anyone else looking for a simple example for testing, you can download it here.

  • put the .sql file into the Oracle bin directory, then run the script from SQL Plus to create the sample procedure.
    Just enter: SQL> @cMacrSampleProc.sql
  • edit the datasource name in the cfm file
  • run the cfm to test using CFSTOREDPROC and CFPROCPARAM