If you want to reinitialize the utilities object, say to upgrade it to a new
version or to read some new config, you can just do this:

<cflock ...>
<cfset StructDelete(Application, "Utilities")>
</cflock>

The next request will then recreate it.  Meantime, any running threads will
remain unperturbed because they have their own reference to the old object
in their request scopes.  Once those threads complete, the old object will
be garbage collected.

Jaime Metcher
  -----Original Message-----
  From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of J MacKay
  Sent: Tuesday, 20 March 2007 6:17 AM
  To: [email protected]
  Subject: [CFCDEV] Newbie - Utility cfc's in application scope


  Hopefully someone can answer two newbie questions ..

  I've read a few blog entries about storing general utility components in
the application scope so they can accessed anywhere within the application.

  <cfif NOT isDefined("application.Utilities")>
     <cflock scope="application" type="exclusive" timeout="10">
        <cfif NOT isDefined("application.Utilities")>
           <cfset application.Utilities = createObject("component",
"Utilities")>
        </cfif>
     </cflock>
  </cfif>

  <cflock ...>
     <cfset Request.Utilities = application.Utilities>
  </cflock>

  It makes sense to instantiate the component once and store it in the
application scope, but 1) why copy it back into the Request scope ? So it
will be available to custom tags?  2) Why is it necessary to use a lock when
copying the component into the request scope?


----------------------------------------------------------------------------
--
  No need to miss a message. Get email on-the-go
  with Yahoo! Mail for Mobile. Get started.
  You are subscribed to cfcdev. To unsubscribe, please follow the
instructions at http://www.cfczone.org/listserv.cfm

  CFCDev is supported by:
  Katapult Media, Inc.
  We are cool code geeks looking for fun projects to rock!
  www.katapultmedia.com

  An archive of the CFCDev list is available at
www.mail-archive.com/[email protected]


You are subscribed to cfcdev. To unsubscribe, please follow the instructions at 
http://www.cfczone.org/listserv.cfm

CFCDev is supported by:
Katapult Media, Inc.
We are cool code geeks looking for fun projects to rock!
www.katapultmedia.com

An archive of the CFCDev list is available at 
www.mail-archive.com/[email protected]

Reply via email to