cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christopher Oliver <res1c...@verizon.net>
Subject Re: [Flow] Serious problem with cocoon.getComponent(id)
Date Wed, 02 Jul 2003 17:08:50 GMT
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:res1cf5x@verizon.net]
>>
>>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:coliver@SeeBeyond.com]
>>>>
>>>>
>>>>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:reinhard_poetz@gmx.net]
>>>>Sent: Monday, June 30, 2003 12:57 PM
>>>>To: cocoon-dev@xml.apache.org
>>>>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: reinhard@apache.org [mailto:reinhard@apache.org]
>>>>>Sent: Monday, June 30, 2003 9:11 PM
>>>>>To: cocoon-2.1-cvs@apache.org
>>>>>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;
>>>>> +    }
>>>>>     
>>>>>
>>>>>          
>>>>>
>>> 
>>>
>>>      
>>>
>>
>>    
>>
>
>
>  
>



Mime
View raw message