Ok, I looked into this further and it seems to be simply a matter of FOM_JavaScriptInterpreter not being thread-safe. I was under the (incorrect) impression that thread synchronization was occuring outside of the flow intepreter. That seems to not be the case. I just checked in code to synchronize on the thread's JS global object. Let me know if this fixes the problem.

Regards,

Chris

Reinhard P�tz wrote:

From: Christopher Oliver [mailto:[EMAIL PROTECTED]

I can't reproduce this. Are you sure you don't have an old
version of rhino in your classpath? I fixed a problem with setting up dynamic scopes recently.



I'm sure. I use the latest Cocoon CVS snapshot.


- Strange things happen if I use JMeter to test it (e.g. 1 thread, 10
requests). The first request works but for all other requests I get a
Status 500 as response and at the console I find "uncaught JavaScript
exception: TypeError: calculator is not a function." Maybe this has
something to do with the internal redirects of the flow when sendPage is
called. Contact me if the JMeter testscript would help you.

- Another issue: Sometimes I get strange response if I push the F5
button in Mozilla. See http://www.poetz.cc/strangeresults.gif. I could reproduce this error in
IE too.


- Sometimes get null when I call cocoon.getComponent(id) (push F5 in
Mozilla --> it is much faster than IE and therefore this error happens
here more often than when using IE).

Sorry that the reported issues are desribed very vague ... :-(

Regards,
Reinhard



Regards,

Chris

Reinhard P�tz wrote:



From: Christopher Oliver [mailto:[EMAIL PROTECTED]


You need to describe how to recreate the problem in more detail




ok, here some more details:

As you can see I implemented cocoon.getComponent(id). If I call this method from the flow and do a lot of refreshes at once

(pushing the F5

key at IE) this error occurs.

If I include a debug statement writing the ComponentManager to
System.out I sometimes get null and not the manager.

IIRC last week a problem with the petstore examples and the database connections was reported altough the "old" implementation

exposed the

ComponentManager itself.

If you need more information please let me know!

Reinhard






for me to help you. The component manager will only
become null when the FOM_Cocoon object is invalidated. Your scripts should not be executing in this state. If they are that that indicates a bug and we need to find it.



Regards,


Chris

-----Original Message-----
From: Reinhard P�tz [mailto:[EMAIL PROTECTED]
Sent: Monday, June 30, 2003 12:57 PM
To: [EMAIL PROTECTED]
Subject: [Flow] Serious problem with cocoon.getComponent(id)
Importance: High

I think we have I serious problem with the lookup of
components within flow scripts. Under load the component manager can become null!!!


Could somebody with more knowledge about this part of Cocoon
have a look at it?

TIA!

Cheers,
Reinhard





-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Sent: Monday, June 30, 2003 9:11 PM
To: [EMAIL PROTECTED]
Subject: cvs commit:
cocoon-2.1/src/scratchpad/src/org/apache/cocoon/components/flo
w/javascript/fom FOM_Cocoon.java


reinhard 2003/06/30 12:11:10


Modified: src/scratchpad/src/org/apache/cocoon/components/flow/javascript/fom
FOM_Cocoon.java




<snip/>





+ public Object jsFunction_getComponent( String id ) { + Object o = null;
+ try {
+ o = this.componentManager.lookup( id );
+ } catch (ComponentException e) {
+ o = null; + }
+ return o;
+ }



















Reply via email to