Hi,

exceptions are usually thrown with a reason - and the main reason why you 
get so much in your log is that brix with wicket 6 isnt yet finished. 
Especially the url-sharing part between brix and wicket is quite a problem 
as brix relies on "full control" of the space while wickt 5 + 6 introduced 
the concept of multiple url handlers - a concept brix itself never cared 
for as it was created against 1.4 once and the traversal to wicket 5 and 
wicket 6 never got finished yed. Especially the introduction of wicket 5 
into brix is full of errors. I started to clear out many of them on the 6 
branch, but hadn't enough time yet. Beside that I wanted to wait till 
wicket 6 is released, as programming against dailies is problematic when 
your low on time.

What brix currently needs is a logic similar to the SSL Url handler in 
wicket 6, where requests go dont the flow while still the brix handler is 
the "master" of these requests. I've done that on an experimental 
base. 

Best,

Kobinian

Am Samstag, 1. September 2012 12:20:10 UTC+2 schrieb wickeria:
>
> Hi,
>
> I am looking for some solution how to log all exceptions in my code. I 
> tried to override onException method in RequestCycleListener but log file 
> was full of exceptions like this:
>
> org.apache.wicket.protocol.http.servlet.ResponseIOException: 
> ClientAbortException:  java.net.SocketException: Broken pipe
>
> So I am thinking about something like this:
>
>     private static Class[] KNOWN_EXCEPTIONS = 
> {ListenerInvocationNotAllowedException.class, ResponseIOException.class};
>
>     @Override
>     public IRequestHandler onException(RequestCycle cycle, Exception ex) {
>         HttpServletRequest request = (HttpServletRequest) 
> cycle.getRequest().getContainerRequest();
>         if (ex instanceof PageExpiredException) {
>             LOG.debug(MessageFormat.format("PageExpiredException for 
> request ''{0}''", request.toString()));
>         }else if(isKnownException(ex)){
>             LOG.warn(MessageFormat.format("InternalErrorPage for request 
> ''{0}'', Exception message ''{1}''", request.toString(), ex.getMessage()));
>         } else {
>             LOG.error(MessageFormat.format("InternalErrorPage for request 
> ''{0}''", request.toString()), ex);
>         }
>         return super.onException(cycle, ex);
>     }
>
>     private boolean isKnownException(Exception ex) {
>         for (Class<? extends Throwable> clazz : KNOWN_EXCEPTIONS) {
>             if(Exceptions.findCause(ex, clazz) != null){
>                 return true;
>             }
>         }
>         return false;
>     }
>
>
> Is this right approach? If yes, another question is how to deal with this 
> exception:
>
> 2012-08-17 09:58:43,184 [http-77.48.124.51-80-32] ERROR 
> c.w.web.WicketRequestCycleListener - InternalErrorPage for request '
> http://sportave.com/wicket/resource/com.wickeria.web.WickeriaApplication/jquery-and-wicket-ver-134BD6850DBC85F8DCBCD3A0DB7207C6.js
> '
> java.lang.IllegalStateException: Header was already written to response!
>     at 
> org.apache.wicket.protocol.http.HeaderBufferingWebResponse.checkHeader(HeaderBufferingWebResponse.java:64)
>  
> ~[wicket-core-6.0-20120809.004947-1468.jar:6.0-SNAPSHOT]
>     at 
> org.apache.wicket.protocol.http.HeaderBufferingWebResponse.sendError(HeaderBufferingWebResponse.java:105)
>  
> ~[wicket-core-6.0-20120809.004947-1468.jar:6.0-SNAPSHOT]
>     at 
> org.apache.wicket.request.http.handler.ErrorCodeRequestHandler.respond(ErrorCodeRequestHandler.java:77)
>  
> ~[wicket-request-6.0-20120809.004719-1476.jar:6.0-SNAPSHOT]
>     at 
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:814)
>  
> ~[wicket-core-6.0-20120809.004947-1468.jar:6.0-SNAPSHOT]
>     at 
> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
>  
> ~[wicket-request-6.0-20120809.004719-1476.jar:6.0-SNAPSHOT]
>     at 
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:302)
>  
> [wicket-core-6.0-20120809.004947-1468.jar:6.0-SNAPSHOT]
>     at 
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:311)
>  
> [wicket-core-6.0-20120809.004947-1468.jar:6.0-SNAPSHOT]
>     at 
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:311)
>  
> [wicket-core-6.0-20120809.004947-1468.jar:6.0-SNAPSHOT]
>     at 
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:311)
>  
> [wicket-core-6.0-20120809.004947-1468.jar:6.0-SNAPSHOT]
>     at 
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:311)
>  
> [wicket-core-6.0-20120809.004947-1468.jar:6.0-SNAPSHOT]
>     at 
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:311)
>  
> [wicket-core-6.0-20120809.004947-1468.jar:6.0-SNAPSHOT]
>     at 
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:311)
>  
> [wicket-core-6.0-20120809.004947-1468.jar:6.0-SNAPSHOT]
>     at 
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:311)
>  
> [wicket-core-6.0-20120809.004947-1468.jar:6.0-SNAPSHOT]
>     at 
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:311)
>  
> [wicket-core-6.0-20120809.004947-1468.jar:6.0-SNAPSHOT]
>     at 
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:311)
>  
> [wicket-core-6.0-20120809.004947-1468.jar:6.0-SNAPSHOT]
>     at 
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:225)
>  
> [wicket-core-6.0-20120809.004947-1468.jar:6.0-SNAPSHOT]
>     at 
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:281)
>  
> [wicket-core-6.0-20120809.004947-1468.jar:6.0-SNAPSHOT]
>     at 
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:188)
>  
> [wicket-core-6.0-20120809.004947-1468.jar:6.0-SNAPSHOT]
>     at 
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:245) 
> [wicket-core-6.0-20120809.004947-1468.jar:6.0-SNAPSHOT]
>     at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>  
> [catalina-6.0.35.jar:6.0.35]
>     at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>  
> [catalina-6.0.35.jar:6.0.35]
>     at 
> org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
>  
> [spring-orm-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>     at 
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
>  
> [spring-web-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>     at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>  
> [catalina-6.0.35.jar:6.0.35]
>     at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>  
> [catalina-6.0.35.jar:6.0.35]
>     at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>  
> [catalina-6.0.35.jar:6.0.35]
>     at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>  
> [catalina-6.0.35.jar:6.0.35]
>     at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
> [catalina-6.0.35.jar:6.0.35]
>     at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
> [catalina-6.0.35.jar:6.0.35]
>     at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>  
> [catalina-6.0.35.jar:6.0.35]
>     at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 
> [catalina-6.0.35.jar:6.0.35]
>     at 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) 
> [tomcat-coyote-6.0.35.jar:6.0.35]
>     at 
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
>  
> [tomcat-coyote-6.0.35.jar:6.0.35]
>     at 
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 
> [tomcat-coyote-6.0.35.jar:6.0.35]
>     at java.lang.Thread.run(Thread.java:662) [na:1.6.0_26]
>
>
> Can I prevent this exception? If not, would it be possible to change 
> IllegalStateException to some more specific wicket exception in order to 
> adding it to the KNOWN_EXCEPTIONS array?
>
>
> Thank you very much!
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to