ZK Configuration
Turn on Serializable UI Factory
To use ZK in a clustering environment, you have to use the serializable UI factory. It could be done by specifying the following statement in WEB-INF/zk.xml:
<zk>
<system-config>
<ui-factory-class>org.zkoss.zk.ui.http.SerializableUiFactory</ui-factory-class>
</system-config>
</zk>
SerializableUiFactory is the UI factory that will instantiate serializable sessions such that the sessions, components, pages and desktops will be serialized when a session is about to deactivate.
Also notice that you cannot enable the use of the event thread[1]. It is disabled by default. For more information, please refer to the Event Threads section.
- ↑ The reason is that the event thread might be suspended. Unfortunately, the thread cannot be migrated from one machine to another.
Turn on Log
If an attribute or a listener is not serializable, ZK will skip it, i.e., not to serialize it (similar to how a Servlet container serializes the attributes of sessions). It is sometimes hard to know what are ignored, since it is common for a developer to forget to declare a value or a listener as serializable.
To detect this problem, you could turn on the log for org.zkoss.io.serializable to the DEBUG level[1].
- ↑ Available in 5.0.7
Version History
Version | Date | Content |
---|---|---|
5.0.7 | April 2011 | The log called org.zkoss.io.serializable was introduced. |