Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I reset application.cfc without resetting the server instance? [duplicate]

Possible Duplicate:
restart application without restarting server?

How do I reset a Coldfusion Application / application.cfc without resetting the Coldfusion Server instance? If I remember right, there are a few tricks out there such as creating a reinit function within application.cfc or renaming the file.

like image 449
Dan Sorensen Avatar asked Dec 14 '09 16:12

Dan Sorensen


3 Answers

A couple of steps:

First, make sure all your application initialization logic is contained inside the OnApplicationStart method of your CFC. If it has nested calls, that is fine - just so long as you can re-initialize your application easily through a single call makes your life much easier.

Second, this is the code I use in the OnRequestStart method of application.cfc

<cfif structKeyExists(url,'resetappvars')>
  <cfset OnApplicationStart() />
</cfif>

Feel free to use whatever coded value you would like in place of resetAppVars.

like image 82
Goyuix Avatar answered Nov 09 '22 12:11

Goyuix


CF9 Doc:

To restart the application, you can stop the application using ApplicationStop() and the next request to any page in this application automatically starts it.

ApplicationStop() is new in ColdFusion 9.

like image 7
Henry Avatar answered Nov 09 '22 10:11

Henry


If you're on CF8 and using the "if reinit, then call onApplicationStart()" approach, make sure you avoid race conditions. This is a good explanation: http://blog.bullamakanka.net/2009/12/coldfusion-shared-scopes-and-race.html

like image 3
marc esher Avatar answered Nov 09 '22 11:11

marc esher