You don't want to create a thread to do this. Instead, put a timeout
(say 3 seconds) on the interstitial page so that it auto-submits, and
then check in the page submittal method whether the process has
finished, and .activate(page) accordingly.

You can't redirect from the thread because the browser hasn't requested
anything.

Joel

-----Original Message-----
From: Katie Macpherson [mailto:[EMAIL PROTECTED] 
Sent: Thursday, April 07, 2005 10:57 AM
To: Tapestry users
Subject: Loading Page to poll external service

Tapestry Users -

I am using an external service on my site that has the potential to 
time-out. For this reason I am using a non-blocking thread to poll the 
external service to see when it is complete. I would like to display a 
"loading" or "processing" page while the thread waits on completion of 
the service. For the purposes of this example I have pages *Step1Page*, 
*ProcessingPage *and *Step2Page. Step1Page *instatiates the thread and 
activates the *ProcessingPage*. *ProcessingPage *starts the thread 
(ProcessingPageThread), and then waits on it to finish. Once the 
external service has completed I have tried to use cycle.activate() and 
also throw new RedirectException() to go to the next page, but I keep 
getting this exception:


Exception in thread "ProcessingPageThread" 
org.apache.tapestry.ApplicationRuntimeException: Unable to instantiate 
component Step2Page/Page
Layout: null
        at 
org.apache.tapestry.pageload.PageLoader.constructComponent(PageLoader.ja
va:532)...

My questions would be, why am I getting this error? and Is there a 
better way to create a "processing" type page in Tapestry that will 
fully render itself, and activate the next page in the cycle when
complete?

Thanks in advance,
Katie


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to