protected void processRenderingJob(RenderingJob job, boolean parallelOnly) { try { if (parallelOnly || job.getTimeout() > 0) { workMonitor.process(job); } else { job.execute(); } } catch (Exception e1) { log.error("render() failed: " + e1.toString(), e1); job.getFragment().overrideRenderedContent(e1.getLocalizedMessage()); } }
public void killJob(WorkerImpl worker, RenderingJob job) { try { if (log.isWarnEnabled()) { PortletWindow window = job.getWindow(); PortletWindowID windowId = (null != window ? window.getId() : null); log.warn("Portlet Rendering job to be interrupted by timeout (" + job.getTimeout() + "ms): " + windowId.getStringId()); } PortletContent content = job.getPortletContent(); synchronized (content) { if (!content.isComplete()) { worker.interrupt(); content.wait(); } } } catch (Exception e) { log.error("Exceptiong during job killing.", e); } } }
log.warn("Portlet Rendering job to be interrupted by timeout (" + job.getTimeout() + "ms)" + (window != null ? ": "+window.getId().getStringId() : ""));
if (oldJob != null) jobTimeout = oldJob.getTimeout();