Similarly, you might have to clean up an event processing thread after it has processed an event.
A typical example is to close the transaction, if it is not closed properly.
To cleanup the event processing threads, you have to register a listener class, that implements the org.zkoss.zk.ui.event.EventThreadCleanup interface, to the listener element in the WEB-INF/zk.xml file.
<zk> <listener> <listener-class>my.MyEventThreadCleanup</listener-class> <listener> </zk>