cflock
273
To avoid a deadlock, everyone who nests locks must do so in a well-specified order and name the
locks consistently. If you must lock access to the Server, Application, and Session scopes, you must
do so in this order:
1.
Lock the Session scope. In the
cflock
tag, specify
scope
= "
session"
.
2.
Lock the Application scope. In the
cflock
tag, specify
scope = "Application"
.
3.
Lock the Server scope. In the
cflock
tag, specify
scope
=
"server"
.
4.
Unlock the Server scope.
5.
Unlock the Application scope.
6.
Unlock the Session scope.
Note:
If you do not have to lock a scope, you can skip any pair of these lock/unlock steps. For
example, if you do not have to lock the Server scope, you can skip Steps 3 and 4. Similar rules apply
for named locks.
For more information, see the following:
•
Chapter 15, “Using Persistent Data and Locking” in
ColdFusion MX Developer’s Guide
•
Article #20370,
ColdFusion Locking Best Practices
,
on the Macromedia website at
www.macromedia.com/support/service/
Example
<!--- This example shows how cflock can guarantee consistency of data updates
to variables in the Application, Server, and Session scopes. --->
<!--- Copy the following code into an Application.cfm file in the application
root directory. --->
<!---------------- Beginning of Application.cfm code --------------->
<!--- cfapplication defines scoping for a ColdFusion application and
enables or disables storing of application and session variables.
Put this tag in a special file called Application.cfm.
It is run before any other ColdFusion page in its directory. --->
<!--- Enable session management for this application. --->
<cfapplication name = "ETurtle"
sessionTimeout = #CreateTimeSpan(0,0, 0, 60)#
sessionManagement = "yes">
<!--- Initialize session and application variables used by E-Turtleneck.
Use session scope for the session variables. --->
<cflock scope = "Session"
timeout = "30" type = "Exclusive">
<cfif NOT IsDefined("session.size")>
<cfset session.size = "">
</cfif>
<cfif NOT IsDefined("session.color")>
<cfset session.color = "">
</cfif>
</cflock>
Summary of Contents for COLFUSION MX 7-CFML
Page 1: ...COLDFUSION MX7 CFML Reference...
Page 20: ...20 Chapter 1 Reserved Words and Variables...
Page 50: ...50 Chapter 2 ColdFusion Tags cfelse br Searching cfif cfloop cfif...
Page 101: ...cfdefaultcase 101 cfdefaultcase cfswitch cfoutput Your grade is grade cfoutput...
Page 115: ...cfdocumentsection 115 cfdocumentsection cfoutput cfdocument...
Page 411: ...cftable 411 cftable body html...
Page 515: ...Chr 515 maxlength 5 p input type Submit name input type RESET cfform...
Page 605: ...GetEncoding 605 WriteOutput The encoding is theEncoding cfscript cfif...
Page 629: ...GetProfileString 629 tr td input type Submit name Submit value Submit td td td tr table form...
Page 655: ...IIf 655 cfoutput IIf Hour Now GTE 12 DE It is afternoon or evening DE It is morning cfoutput b...
Page 664: ...664 Chapter 3 ColdFusion Functions cfelse h3 Conversion error h3 cfif...
Page 687: ...IsStruct 687 cfoutput cfquery cfif cfoutput hr Employee Add Complete cfoutput cfcase cfswitch...
Page 751: ...LSDateFormat 751 hr noshade cfoutput cfloop...
Page 861: ...StructFind 861 cfquery cfif cfoutput hr Employee Add Complete cfoutput cfcase cfswitch...
Page 903: ...Val 903 value Is the beginning numeric name form...
Page 932: ...932 Chapter 3 ColdFusion Functions...
Page 944: ...944 Chapter 4 ColdFusion MX Flash Form Style Reference...
Page 962: ...962 Chapter 5 Application CFC Reference...
Page 1054: ...1054 Chapter 6 ColdFusion MX Event Gateway Reference...