Matt,
i'm sure you've thought of this, but why not use a simple "if NOT
isDefined('application.myManager')" statement? I'm just curious why
you're not doing the obvious here.
On Mon, 6 Sep 2004 11:08:40 -0400, Matt Liotta <[EMAIL PROTECTED]> wrote:
> I have an application with various "worker" objects that are wasting
> resources for no reason. For example, one "worker" object has on average 51
> instances for any given page request. I really only need 1 instance of this
> "worker" object, but it does have some instance data. The way I would solve
> this with Java is to use the singleton pattern where I can ensure the only
> one instance is created and manage that instance data when it is first
> created.
>
> Implementing the singleton pattern is Java is pretty easy, but requires two
> things that CFCs don't have; constructors and static modifiers. Looking into
> how to solve this problem with what CFML does provide I came up with the
> following solution.
>
> First, I created a "manager" CFC to maintain data in the application scope.
> Second, instead of using CreateObject() to instantiate these "worker"
> objects, the "manager" CFC is asked for an instance. The "manager" attempts
> to find an instance in the application scope. If it finds one it simply
> returns it; else it creates an instance and returns that.
>
> The above solve the problem of having more "worker" instances than needed
> and makes a huge difference in terms of performance. However, now there are
> a ton of "manager" instances, which isn't bad in terms of performance since
> they are small and have no instance data. But, I don't need a bunch of
> "manager" instances either.
>
> Somewhere, somehow, something needs to do the work that is in the "manager"
> CFC now. However, if that thing is a CFC then the problem doesn't seem to be
> solvable. This is especially true since the application in question is
> Mach-II based thus requiring the logic in CFCs.
>
> I have thought about creating the "manager" object in Java to get around
> this problem, but that is less than ideal.
>
> -Matt
>
> ----------------------------------------------------------
> You are subscribed to cfcdev. To unsubscribe, send an email
> to [EMAIL PROTECTED] with the words 'unsubscribe cfcdev'
> in the message of the email.
>
> CFCDev is run by CFCZone (www.cfczone.org) and supported
> by Mindtool, Corporation (www.mindtool.com).
>
> An archive of the CFCDev list is available at www.mail-archive.com/[EMAIL PROTECTED]
>
----------------------------------------------------------
You are subscribed to cfcdev. To unsubscribe, send an email
to [EMAIL PROTECTED] with the words 'unsubscribe cfcdev'
in the message of the email.
CFCDev is run by CFCZone (www.cfczone.org) and supported
by Mindtool, Corporation (www.mindtool.com).
An archive of the CFCDev list is available at www.mail-archive.com/[EMAIL PROTECTED]