User Guide

Table Of Contents
Using server variables 359
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 356 and
Accessing and changing session variables” on page 356.
For information on locking write-once read-many application variables efficiently, see “Locking
application variables efficiently” on page 367
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: Put code that uses server variables inside cflock tags in circumstances that might result in
race conditions from multiple accesses to the same variable. 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 on which the ColdFusion MX license expires if it is
the trial version.
Server.ColdFusion.ProductLevel The server product level, such as Enterprise.
Server.ColdFusion.ProductName The name of the product (ColdFusion MX).