I've rummaged through a bunch of the source for JavaFlow and was wondering if I could get some questions answered regarding its behaviour.
Sure
It seems like the main class I should be concerned with is the JavaInterpreter class. One of the main questions I have is, it appears that an instance of the flow class (the class that extends AbstractContinuable) is created and stored in the user's session under the name "JAVA GLOBAL SCOPE". Is this true? Is a new, separate instance of the JavaFlow class created for every user?
What cocoon version are you talking about? I assume the 2.1 branch? In order to understand how things are working forget about the global scope for now. It's just a special case and TBH I am not a big fan of it anyway. But to answer your question(s)... Javaflow separates the execution context from the instance. So it does not really need to create a bunch of instances.
Secondly, it looks as if a "web continuation" is generated on every call to a function within the flow.
That's right ...that's the idea of a continuation ;)
At least on every call of the "callFunction" method of JavaInterpreter. Let's say I have a JavaFlow that is the entry point for all pages, is this "callFunction" method called on every page request for every user? If so, it seems that every web page request generates a new continuation that lasts for 10 minutes (600000). Am I understanding this correctly?
Basically that's right. Every request creates a new continuation. Of course it depends your application design and on the continuation management mechanism to keep that scaleable. ...I assume that's what you are concerned of? cheers -- Torsten
PGP.sig
Description: This is a digitally signed message part
