We have a filter that runs in our context before the wicket filter that starts a hibernate transaction, does a chain.doFilter() and then commits the transaction. The problem we are running into is that if a RuntimeException is thrown, Wicket catches it, logs it and figures out which page to display to the user. However, the exception is swallowed and therefore our filter has no knowledge that something bad occurred and is committing the transaction when it shouldn't be.
What is the recommended way to deal with this?