ti 11. lokak. 2022 klo 10.15 Korbinian Bachl (korbinian.ba...@whiskyworld.de) kirjoitti:
> Hello Martin, > > thanks for the advise and I looked at it, however, I am not sure how to > solve my original idea here. > > I can swallow any error thats RuntimeException in onException in > IRequestCycleListener, but this leads not to the rest of the page magically > working, does it? > > I mean I can add a new RequestCycleListener with > > @Override > public IRequestHandler onException(RequestCycle cycle, Exception ex) { > .. > > if(ex instanceof RuntimeException) { > //swallow it > return null; > } > > > in it. But as soon as we got a e.g.: > > throw new RuntimeException("test"); > > anywhere in the constructor/onInit of any component the error is again > 500, with > ERROR [org.apache.wicket.DefaultExceptionMapper] Unexpected error occurred > java.lang.RuntimeException: test > [...] > > behind it. > > My idea is that the component - and only that single component - that > fails gets "blanked" out as it is not existing while the rest of the page > would work regular. It is your application so you must know/design how to recover from the error. You either re-render the same page or redirect the user to a suitable error page. ** Martin > > > > Or did I missunderstand anything here? > > Best, > > KB > > > > > ----- Ursprüngliche Mail ----- > > Von: "Martin Terra" > > An: "dev" <dev@wicket.apache.org> > > Gesendet: Montag, 10. Oktober 2022 10:03:34 > > Betreff: Re: an idea: wicket-resilient mode? > > > It has evolved a bit: > > > https://cwiki.apache.org/confluence/display/WICKET/Migration+to+Wicket+1.5#MigrationtoWicket1.5-RequestCycle > > > > ** > > Martin > > > > ma 10. lokak. 2022 klo 10.11 Martin Terra ( > martin.te...@koodaripalvelut.com) > > kirjoitti: > > > >> Yes. You can override runtime handling yourself @ > >> RequestCycle.onRuntimeException (at least used to be with such name) > >> > >> In production it is recommended to do so as you best see fit. > >> > >> ** > >> Martin > >> > >> ma 10. lokak. 2022 klo 9.45 Korbinian Bachl ( > >> korbinian.ba...@whiskyworld.de) kirjoitti: > >> > >>> Hi, > >>> > >>> we use wicket for many years now and so far it is a great framework to > >>> use. One thing that however seems still a bit of a problem is the way > >>> wicket handles (runtime) errors. > >>> If you look at a page then the content is often composed of 100's of > >>> panels and components. > >>> As long as every single component is working all is fine... but if > just 1 > >>> of the many 100 components has any kind of runtime-errors it leads to > a 500 > >>> server error. > >>> So I wondered: what stops us from letting wicket have a "resilient > mode"? > >>> - A mode where an runtime error in any component doesnt lead to the > error > >>> beeing done as a 500 but instead only let this single component/panel > >>> silently fail (by not outputting it - as if it would be > .visible(false)) > >>> and do this gracefully in the background? > >>> While wicket doing error-logging in the background? > >>> All beeing done by having a setting to let wicket be > gracefully/resilient > >>> in deploymode? > >>> > >>> What do you think about this approach? > >>> > >>> Best, > >>> > >>> Korbinian > >>> > >>> > >>> >