User Guide

Table Of Contents
358 Chapter 15: Using Persistent Data and Locking
Configuring and enabling application variables
To use application variables, do the following:
Ensure that they are enabled in the ColdFusion MX Administrator. (They are enabled by
default.)
Specify the application name by setting the This.name variable in the initialization code of the
Application.cfc or by setting the
name attribute of the cfapplication tag for the current page.
Note: ColdFusion supports unnamed applications for compatibility with J2EE applications. For
more information, see Chapter 37, “Unnamed ColdFusion Application and Session scopes,” on
page 924.
The ColdFusion MX Administrator also lets you specify the following information:
A default variable time-out. If all pages in an application are inactive for the time-out period,
ColdFusion deletes all the application variables. The Application.cfc file or
cfapplication
tag can override this value for a specific application. The default value for this time-out is two
days.
A maximum time-out. The application code cannot set a time-out greater than this value. The
default value for this time-out is two days.
You can set the time-out period for application variables within a specific application by using the
This.applicationTimeout variable of Application.cfc or the
applicationTimeout attribute of the
cfapplication tag.
Storing application data in application variables
Application variables are a convenient place to store information that all pages of your application
might need, no matter which client is running that application. Using application variables, an
application could, for example, initialize itself when the first user accesses any page of that
application. This information can then remain available indefinitely, thereby avoiding the
overhead of repeated initialization.
Because the data stored in application variables is available to all pages of an application, and
remains available until a specific period of inactivity passes or the ColdFusion server shuts down,
application variables are convenient for application-global, persistent data.
However, because all clients running an application see the same set of application variables, these
variables are not appropriate for client-specific or session-specific information. To target variables
for specific clients, use client or session variables.
Using application variables
Generally, application variables should hold information that you write infrequently. In most
cases, the values of these variables are set once, most often when an application first starts. Then
the values of these variables are referenced many times throughout the life of the application or
the course of a session.
In circumstances that might result in race conditions from multiple accesses to the same variable,
put code that writes to Application scope variables or reads Application scope variables with data
that can change inside
cflock tags.