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)





<<TeamFusionD.gif>>

Reply via email to