cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hunsberger, Peter" <Peter.Hunsber...@stjude.org>
Subject RE: Are flowscript functions reentrant?
Date Mon, 02 Feb 2004 18:36:07 GMT
Christopher Oliver <res1cf5x@verizon.net> writes:

> 
> It appears the source resolver used by the compiling class loader was 
> able to resolve a Source for one of your Java classes but 
> Source.getInputStream() returned null. Since clearly you 
> weren't using 
> the compiling class loader previously, this seems odd. I'm not sure 
> what's causing this. Can you provide more information? What class was 
> being loaded when this occurred? Can you set a breakpoint in 
> CompilingClassLoader and find out what type of Source was returned?

Hmm, interesting.  When I deploy our EAR expanded I don't get this
error, but instead something else goes wrong in our business logic
classes that I haven't had a chance to track down yet.  If the problems
are related then the flowscript causing the problem is:

	function logon( collection, screen )            // Handle logon
screen
	{
	    var logonOk = false;
	    while ( !logonOk )
	    {
      	  cocoon.sendPageAndWait( "run/_logon/" + screen );
	        var handler =
Packages.org.stjude.ct.ui.logon.LogonAction();
      	  logonOk = handler.logon( cocoon );
	    }
	    _redirectTo( "frameset.frameset" );
	}

The class being instantiated here is and old Cocoon action that has been
modified to take a Cocoon object...

> 
> Assuming that the above _is_ what's happening, a possible fix 
> might be 
> to modify CompilingClassLoader as follows:
> 
>     class SourceReaderFactory implements JavaSourceReaderFactory {
>         public JavaSourceReader
>             getSourceReader(final String className)
>             throws IOException {
>             Source src = getSource(className);
>             if (src == null) return null;
>             try {
>                 InputStream is = src.getInputStream();
>                 if (is == null) {
>                     return null;
>                 }
>                 ...


Mime
View raw message