/** * Called when exiting portlet handling for this thread. The bean holders are deregistered from the thread but are * saved rather than destroyed. */ @Override public void deregisterContext(boolean isListener) { if (!complete && (!isListener || doDeregister)) { this.sessbh = PortletSessionBeanHolder.deregister(); this.statebh = PortletStateScopedBeanHolder.deregister(); this.reqbh = PortletRequestScopedBeanHolder.deregister(); PortletArtifactProducer.remove(); } if (isTrace) { StringBuilder txt = new StringBuilder(); txt.append("Deregistered context."); txt.append(" complete: ").append(complete); txt.append(", isListener: ").append(isListener); txt.append(", doRegister: ").append(doDeregister); LOG.trace(txt.toString()); } }