> It's interesting that onRequestStart is always run, but onApplicationStart isn't.
Of course, if this is the case a work around might be something along the
lines of:
<cfif NOT isDefined("application.whatever")> <cfset
onApplicationStart()> </cfif> in your onRequestStart()
Best Wishes,
Peter
On 5/1/07 10:41 AM, "Battershall, Jeff" <[EMAIL PROTECTED]>
wrote:
> Chris, I see your point. Yes, they are sharing the same Application.cfc but
> here's what I don't get - shouldn't ANY request (via Mach-ii or via rpc to my
> Remote facade) trigger onApplicationStart()? That's when/where I'm reloading
> my framework.
>
> It would seem that somehow, a new request to the remote facade can occur
> without triggering onApplicationStart(). What I think SHOULD be happening is
> this:
>
> 1) Flex app makes an rpc call to RemoteFacade.cfc
> 2) Because RemoteFacade.cfc exists beneath Application.cfc, Application.cfc is
> automatically run.
> 3) Because the application has timed out, onApplicationStart() is called.
> 4) ColdSpring is loaded in the application scope.
> 5) When RemoteFacade.cfc is finally run, application.serviceFactory is
> available.
>
> Unfortunately, this is NOT what happens and I don't know why. It would seem
> that an rpc call from Flex back to CF via AMF3 doesn't necessarily trigger
> onApplicationStart(). It should be noted that I"m doing CF/Flex integration
> via services-config.xml and named destinations that are being invoked with
> public not remote methods. It's interesting that onRequestStart is always
> run, but onApplicationStart isn't.
>
> At this point, I don't necessarily think this is a ColdSpring issue. The
> behavior could be a bug or by design. It would be interesting to get someone
> from the CF enginerring team like Tom Jordahl to weigh in.
>
> Jeff
>>
>>
>> -----Original Message-----
>> From: [email protected]
>> [mailto:[EMAIL PROTECTED] On Behalf Of Chris Scott
>> Sent: Monday, April 30, 2007 6:45 PM
>> To: [email protected]
>> Subject: [coldspring-dev] Application Scope out of sync?
>>
>> OK, but, do the Mach-ii app and the remote app share the same application
>> scope? Same name in Application.cfc/cfm? If so, what I believe is happening
>> is, after your application times out, your mach-ii app initializes the
>> Application scope without initializing your bean factory. So when your
>> remote app hits it, onApplicationStart is not called, and your bean factory
>> is not initialized.
>>
>>
>> C
>>
>>
>>
>>
>> Chris Scott
>>
>> [EMAIL PROTECTED]
>>
>>
>> http://cdscott.blogspot.com/
>>
>> http://www.coldspringframework.org/
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> On Apr 30, 2007, at 9:27 AM, Battershall, Jeff wrote:
>>
>>
>>>
>>> Chris,
>>>
>>>
>>>
>>> No - I'm using Mach-ii but I'm not using the bean factory for that -
>>> everything I'm doing is through a remote facade for a Flex front end.
>>>
>>>
>>>
>>> Jeff
>>>
>>>>
>>>>
>>>> -----Original Message-----
>>>> From: [email protected]
>>>> [mailto:[EMAIL PROTECTED] On Behalf Of Chris Scott
>>>> Sent: Monday, April 30, 2007 8:12 AM
>>>> To: [email protected]
>>>> Subject: [coldspring-dev] Application Scope out of sync?
>>>>
>>>> Jeff, are you also using model-glue to access the same bean factory?
>>>>
>>>>
>>>> Chris
>>>>
>>>>
>>>>
>>>>
>>>> Chris Scott
>>>>
>>>> [EMAIL PROTECTED]
>>>>
>>>>
>>>> http://cdscott.blogspot.com/
>>>>
>>>> http://www.coldspringframework.org/
>>>>
>>>>
>>>>
>>>>
>>>> <TeamFusionD.gif>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On Apr 26, 2007, at 9:02 AM, Battershall, Jeff wrote:
>>>>
>>>>
>>>>>
>>>>> What I ended up doing, which is strictly in the workaround category, is
>>>>> check for the existence of my serviceFactory in onRequestStart, and
>>>>> re-loading it if not. That "works" but I wish I knew what was really
>>>>> going on.
>>>>>
>>>>>
>>>>>
>>>>> Jeff
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> -----Original Message-----
>>>>> From: [email protected]
>>>>> [mailto:[EMAIL PROTECTED] On Behalf Of Battershall,
>>>>> Jeff
>>>>> Sent: Wednesday, April 25, 2007 9:02 AM
>>>>> To: [email protected]
>>>>> Subject: [coldspring-dev] Application Scope out of sync?
>>>>>
>>>>>
>>>>>>
>>>>>> Thanks Chris. The swf is embedded in a .cfm page, though. I would think
>>>>>> that onApplicationstart() would be run when I'm hitting my remote facade
>>>>>> which lives beneath the Application.cfc (of course).
>>>>>>
>>>>>>
>>>>>>
>>>>>> I'll try destroying the services. I could also check for the existence
>>>>>> of the services in the application scope on each request, but I've heard
>>>>>> that there are some security issues with flash remoting and the
>>>>>> onRequestStart() function.
>>>>>>
>>>>>>
>>>>>>
>>>>>> Jeff
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> -----Original Message-----
>>>>>>> From: [email protected]
>>>>>>> [mailto:[EMAIL PROTECTED] On Behalf Of Chris
>>>>>>> Scott
>>>>>>> Sent: Tuesday, April 24, 2007 8:35 PM
>>>>>>> To: [email protected]
>>>>>>> Subject: [coldspring-dev] Application Scope out of sync?
>>>>>>>
>>>>>>> What is probably happening here is your swf is embedded in an html
>>>>>>> file. When it accesses the remote facade, the application has timed
>>>>>>> out. You could change your index.html file to be index.cfm, which would
>>>>>>> restart the application, or but a ping service in your main.mxml file
>>>>>>> that just hits a cfm page on creationComplete, which will have the same
>>>>>>> effect. I would also suggest you have your services destroyed
>>>>>>> onApplicationEnd in application.cfc
>>>>>>>
>>>>>>>
>>>>>>> Chris
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Chris Scott
>>>>>>>
>>>>>>> [EMAIL PROTECTED]
>>>>>>>
>>>>>>>
>>>>>>> http://cdscott.blogspot.com/
>>>>>>>
>>>>>>> http://www.coldspringframework.org/
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> <TeamFusionD.gif>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Apr 24, 2007, at 1:20 PM, Battershall, Jeff wrote:
>>>>>>>
>>>>>>>
I've run into a phenomena I have no explanation for, and I'm looking for
advice. Here's the scenario:
I've added a function loadFramework() to my Application.cfc that is run
during onApplicationStart().
Then I've got a remote façade that is being used to provide services to a
Flex 2 app, using CFMX 7.02 as the backend.
Periodically, I'm getting an error : Element SERVICEFACTORY is undefined in
a Java object of type class [Ljava.lang.String; referenced as ". Note:
SERVICEFACTORY is residing in the application scope.
This error disappears if I reload ColdSpring. I could work around it by
checking for it's existence in my Remote façade and loading it, but that is
a kludge. What I don't understand is how my SERVICEFACTORY could not exist
in the application scope if onApplicationStart() is reloading my framework.
Note my call to loadFramework() isn't CFLOCKed although the code in the
function is - perhaps it should be? To prevent a race condition?
Anyone encountered this or something similar?
Jeff Battershall
Application Architect
Dow Jones Indexes
[EMAIL PROTECTED]
(609) 520-5637 (p)
(484) 477-9900 (c)
>>>>>>>
>>>>
>>
>
<<image.gif>>
