332
Chapter 15: Using Persistent Data and Locking
Because each Application scope variable is shared in memory by all requests in the application,
these variables can become bottlenecks if used inappropriately. Whenever a request is reading or
writing an Application scope variable, any other requests that use the variable must wait until the
code accessing the variable completes. This problem is increased by the processing time required
for locking. If many users access the application simultaneously and you use Application scope
variables extensively, your application performance might degrade. If your application uses many
application variables, consider whether the variables must be in the Application scope or whether
they can be Session or Request scope variables.
The application scope has one built-in variable,
Application.applicationName
, which
contains the application name you specify in the
cfapplication
tag.
You access and manipulate application variables the same way you use session variables, except
that you use the variable prefix Application, not Session, and specify Session as the lock scope. For
examples of using session variables see
“Creating and deleting session variables” on page 329
and
“Accessing and changing session variables” on page 330
.
For information on locking write-once read-many application variables efficiently, see
“Locking
application variables efficiently” on page 339
Using server variables
Server variables are associated with a single ColdFusion server. They are available to all
applications that run on the server. Use server variables for data that must be accessed across
clients and applications, such as global server hit counts.
Server variables do not time out, but they are lost when the server shuts down. You can delete
server variables.
Server variables are stored on a single server. As a result, you should not use server variables if you
use ColdFusion on a server cluster.
You access and manipulate server variables the same way use Session and application variables,
except you use the variable prefix Server.
Caution:
To preserve data integrity, put code that uses server variables inside
cflock
tags. You do
not have to lock access to built-in server variables.
ColdFusion provides the following standard built-in read-only server variables:
Variable
Description
Server.ColdFusion.AppServer
The name of the J2EE application server ColdFusion is
using. For ColdFusion MX server editions, which have an
integrated application server, the name is JRun4.
Server.ColdFusion.Expiration
The date, in ODBC date format, on which the ColdFusion
MX license expires. (A null string in all but trial versions of
ColdFusion.)
Server.ColdFusion.ProductLevel
The server product level, such as Enterprise.
Server.ColdFusion.ProductName
The name of the product (ColdFusion MX).
Server.ColdFusion.ProductVersion
The version number for the server that is running, such as
6,0,0.
Server.ColdFusion.Rootdir
Directory under which ColdFusion is installed, such as
C:\cfusion.
Summary of Contents for ColdFusion MX
Page 1: ...Developing ColdFusion MX Applications...
Page 22: ...22 Contents...
Page 38: ......
Page 52: ...52 Chapter 2 Elements of CFML...
Page 162: ......
Page 218: ...218 Chapter 10 Writing and Calling User Defined Functions...
Page 250: ...250 Chapter 11 Building and Using ColdFusion Components...
Page 264: ...264 Chapter 12 Building Custom CFXAPI Tags...
Page 266: ......
Page 314: ...314 Chapter 14 Handling Errors...
Page 344: ...344 Chapter 15 Using Persistent Data and Locking...
Page 349: ...About user security 349...
Page 357: ...Security scenarios 357...
Page 370: ...370 Chapter 16 Securing Applications...
Page 388: ...388 Chapter 17 Developing Globalized Applications...
Page 408: ...408 Chapter 18 Debugging and Troubleshooting Applications...
Page 410: ......
Page 426: ...426 Chapter 19 Introduction to Databases and SQL...
Page 476: ...476 Chapter 22 Using Query of Queries...
Page 534: ...534 Chapter 24 Building a Search Interface...
Page 556: ...556 Chapter 25 Using Verity Search Expressions...
Page 558: ......
Page 582: ...582 Chapter 26 Retrieving and Formatting Data...
Page 668: ......
Page 734: ...734 Chapter 32 Using Web Services...
Page 760: ...760 Chapter 33 Integrating J2EE and Java Elements in CFML Applications...
Page 786: ...786 Chapter 34 Integrating COM and CORBA Objects in CFML Applications...
Page 788: ......