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>>
