Interesting, I didn't pick that up when I was looking at this. I think
there is a case for changing AbstractEngine to this:

try {
  try {
     // get service

     monitor.beginService(serviceName);

     return service.service(this, cycle, output);
  }
  catch (PageRedirectException ex) {
     redirect(ex.getTargetPageName(), cycle, output, ex);
  }
  catch (RedirectException ex) {
     redirectOut(cycle, ex);
  }
  catch (StaleLinkException ex) {
     handleStaleLinkException(ex, cycle, output);
  }
  catch (StaleSessionException ex) {
     handleStaleSessionException(ex, cycle, output);
  }
  catch (Exception e) {
     monitor.serviceException(e);
     throw e;
  }
  finally {
     monitor.serviceEnd(service.getName());
  }
}
catch (Exception e)
{
 // log exception
}
finally
{
 // clean up
}

From: Simon Robins <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Subject: Fwd: [Tapestry-developer] Tapestry and O/R persitence services
Date: Tue, 21 Jan 2003 00:45:58 +0000

On Friday, January 17, 2003, at 01:54  am, Malcolm Edgar wrote:

TransactionMonitor.serviceBegin() - begin request transaction

TransactionMonitor.serviceEnd() - end request transaction

TransactionMonitor.serviceException() - rollback request transaction
The problem here is that serviceEnd is always called before serviceException. If the serviceEnd call was moved to the second finally clause in the AbstractEngine service method then we would be in business.

Simon


-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
_______________________________________________
Tapestry-developer mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/tapestry-developer

_________________________________________________________________
The new MSN 8: smart spam protection and 2 months FREE* http://join.msn.com/?page=features/junkmail



-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
_______________________________________________
Tapestry-developer mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/tapestry-developer

Reply via email to