org.zkoss.zk.ui.event
Interface EventThreadCleanup

All Known Implementing Classes:
AcegiSecurityContextListener, SpringTransactionSynchronizationListener, ThreadLocalListener

public interface EventThreadCleanup

Used to clean the event processing thread.

How this interface is used.

  1. First, you specify a class that implements this interface in WEB-INF/zk.xml as a listener.
  2. Then, an instance of the specified class is constructed and cleanup(org.zkoss.zk.ui.Component, org.zkoss.zk.ui.event.Event, java.util.List) is invoked when the event processing thread has processed an event, and then complete(org.zkoss.zk.ui.Component, org.zkoss.zk.ui.event.Event) of the same instance is called in the servlet thread.

Thus, the typical use is to cleanup un-closed transactions when cleanup(org.zkoss.zk.ui.Component, org.zkoss.zk.ui.event.Event, java.util.List) is called.

Author:
tomyeh

Method Summary
 void cleanup(Component comp, Event evt, java.util.List<java.lang.Throwable> errs)
          Cleans up the event processing thread.
 void complete(Component comp, Event evt)
          Called in the serlvet thread to clean up.
 

Method Detail

cleanup

void cleanup(Component comp,
             Event evt,
             java.util.List<java.lang.Throwable> errs)
             throws java.lang.Exception
Cleans up the event processing thread. It is called, after a event processing thread has processed an event.

If this method threw an exception and errs is empty, the exception will be propagated back to the servlet thread and then reported to the user.

Note: cleanup(org.zkoss.zk.ui.Component, org.zkoss.zk.ui.event.Event, java.util.List) is called first in the event processing thread, and then complete(org.zkoss.zk.ui.Component, org.zkoss.zk.ui.event.Event) is called in the servlet thread. Note: complete(org.zkoss.zk.ui.Component, org.zkoss.zk.ui.event.Event) of an EventThreadCleanup instance is called only if cleanup(org.zkoss.zk.ui.Component, org.zkoss.zk.ui.event.Event, java.util.List) called against the same instance didn't throw any exception.

If the use of the event thread is disabled (Configuration.isEventThreadEnabled() returns false), this method is also invoked in the Servlet thread.

Parameters:
errs - a list of exceptions (java.lang.Throwable) if any exception occurred before this method is called, or null if no exception at all. Note: you can manipulate the list directly to add or clean up exceptions. For example, if exceptions are fixed correctly, you can call errs.clear() such that no error message will be displayed at the client.
Throws:
java.lang.Exception

complete

void complete(Component comp,
              Event evt)
              throws java.lang.Exception
Called in the serlvet thread to clean up. It is called after cleanup(org.zkoss.zk.ui.Component, org.zkoss.zk.ui.event.Event, java.util.List) is called.

Note: cleanup(org.zkoss.zk.ui.Component, org.zkoss.zk.ui.event.Event, java.util.List) is called first in the event processing thread, and then complete(org.zkoss.zk.ui.Component, org.zkoss.zk.ui.event.Event) is called in the servlet thread.

Throws:
java.lang.Exception


Copyright © 2005-2011 Potix Corporation. All Rights Reserved. SourceForge.net Logo