[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