[undertow-dev] Dispatching to non IO threads

Jason T. Greene jgreene at redhat.com
Wed Sep 17 17:26:41 EDT 2014


> On Sep 17, 2014, at 10:32 AM, "Bill O'Neil" <bill at dartalley.com> wrote:
> 
> I have come across a few Handlers that dispatch to a worker thread these include blocking handler, resource handler and the form parsing handler.
> 
> My specific use case was with the form parsing handler.  I had a bunch of handlers chained together basically as follows.
> 
> Blocking handler -> ExceptionHandler -> FormParsingHandler -> MyBlockingHandler
> 
> The form parsing handler would cause the handler to be dispatched a second time to a new executor.  This made me lose the stack trace, and the Exception handler was not catching an exception being thrown inside of MyBlockingHandler.
> 
> I resolved this by basically cloning the form parsing handler and calling the parseBlocking() instead of the non blocking parse().  This is acceptable because I already dispatched to a non IO thread.
> 
> Should any handler that attempts to dispatch first check if the exchange is in an IO thread before dispatching or is there a specific use case for some handlers to always dispatch?

Yes all handler that dispatch should check that. It's a performance hit not to.


> 
> Thanks,
> Bill
> _______________________________________________
> undertow-dev mailing list
> undertow-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/undertow-dev



More information about the undertow-dev mailing list