Awesome. Thanks so much! I'll give it a try.
--jfk On Jul 28, 8:38 am, "brett.wooldridge" <[email protected]> wrote: > I suspect you've touched upon a subtle bug involving the translation > of Java anonymous inner-classes and JavaScript garbage collection. > There is a subtle co-dependency between the anonymous Timer and the > anonymous AsyncCallback inner-classes that may be preventing the > garbage collector from collecting those classes -- which are created > "on the stack" of their respective methods. > > I suggest simply skirting the issue by combining the two classes like > so, into a private inner-class (note I did not syntax check this): > > private class CheckJob extends Timer implements AsyncCallback<Job> { > private int checkJobRetries = 0; > > �...@override > public void run() { > if (++checkJobRetries < SOME_LIMIT) { > checkJobSvc.checkJob(currJobId, this); > } > else { > // give up > } > } > > public void onFailure(Throwable caught) { > this.schedule(TIMER_INTERVAL); > } > > public void onSuccess(Job job) { > if (job.hasFinished()) { > // blah, blah, blah... > return; > } > updateProgress(job); > this.schedule(TIMER_INTERVAL); > } > > } > > On the submit click, create a CheckJob instance and schedule it: > > CheckJob cj = new CheckJob(); > cj.schedule(TIMER_INTERVAL); --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/Google-Web-Toolkit?hl=en -~----------~----~----~----~------~----~------~--~---
