protected void cancelWorker ( HttpServletRequest request , IPortletExecutionWorker < ? > portletExecutionWorker ) { final IPortletWindowId portletWindowId = portletExecutionWorker . getPortletWindowId ( ) ; final IPortletWindow portletWindow = this . portletWindowRegistry . getPortletWindow ( request , portletWindowId ) ; this . logger . warn ( "{} has not completed, adding to hung-worker cleanup queue: {}" , portletExecutionWorker , portletWindow ) ; portletExecutionWorker . cancel ( ) ; this . portletExecutionEventFactory . publishPortletHungEvent ( request , this , portletExecutionWorker ) ; hungWorkers . offer ( portletExecutionWorker ) ; }
Cancel the worker and add it to the hung workers queue