ZK Configuration"
m |
m (→Turn on Log) |
||
Line 25: | Line 25: | ||
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. | 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 | + | To detect this problem, you could turn on the logger for <tt>org.zkoss.io.serializable</tt> to the DEBUG level<ref>Available in 5.0.7</ref>. The logger is [http://download.oracle.com/javase/6/docs/api/java/util/logging/Logger.html the standard logger]. You could consult the configuration of the Web server you use. Or, you could run the following statement when your application starts<ref>It can be done by use of the<javadoc type="interface">org.zkoss.zk.ui.util.WebAppInit</javadoc> listener. For more information, please refer to [[ZK Developer's Reference/Customization|the Customization section]].</ref>. |
+ | |||
+ | <source lang="java"> | ||
+ | org.zkoss.util.logging.Log.lookup("org.zkoss.io.serializable").setLevel("DEBUG"); | ||
+ | </source> | ||
<blockquote> | <blockquote> |
Revision as of 02:50, 29 April 2011
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 logger for org.zkoss.io.serializable to the DEBUG level[1]. The logger is the standard logger. You could consult the configuration of the Web server you use. Or, you could run the following statement when your application starts[2].
org.zkoss.util.logging.Log.lookup("org.zkoss.io.serializable").setLevel("DEBUG");
- ↑ Available in 5.0.7
- ↑ It can be done by use of theWebAppInit listener. For more information, please refer to the Customization section.
Version History
Version | Date | Content |
---|---|---|
5.0.7 | April 2011 | The log called org.zkoss.io.serializable was introduced. |