WebLogic Cluster"
From Documentation
Jimmyshiau (talk | contribs) |
|||
(5 intermediate revisions by 3 users not shown) | |||
Line 9: | Line 9: | ||
<ui-factory-class>org.zkoss.zk.ui.http.SerializableUiFactory</ui-factory-class> | <ui-factory-class>org.zkoss.zk.ui.http.SerializableUiFactory</ui-factory-class> | ||
</system-config> | </system-config> | ||
− | < | + | <!-- clustering environment, since ZK 5.0.8--> |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<listener> | <listener> | ||
<listener-class>org.zkoss.zkplus.cluster.ClusterSessionPatch</listener-class> | <listener-class>org.zkoss.zkplus.cluster.ClusterSessionPatch</listener-class> | ||
Line 23: | Line 15: | ||
</zk> | </zk> | ||
</source> | </source> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
== weblogic.xml == | == weblogic.xml == | ||
Line 45: | Line 32: | ||
</weblogic-web-app> | </weblogic-web-app> | ||
</source> | </source> | ||
+ | |||
+ | For Weblogic version 12c | ||
+ | <source lang="xml"> | ||
+ | <?xml version="1.0" encoding="UTF-8"?> | ||
+ | <wls:weblogic-web-app | ||
+ | xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app" | ||
+ | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
+ | xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.5/weblogic-web-app.xsd"> | ||
+ | <wls:session-descriptor> | ||
+ | <wls:persistent-store-type>replicated</wls:persistent-store-type> | ||
+ | </wls:session-descriptor> | ||
+ | </wls:weblogic-web-app> | ||
+ | </source> | ||
+ | |||
As mentioned in [http://download.oracle.com/docs/cd/E12840_01/wls/docs103/webapp/weblogic_xml.html#wp1071982 Weblogic's document] | As mentioned in [http://download.oracle.com/docs/cd/E12840_01/wls/docs103/webapp/weblogic_xml.html#wp1071982 Weblogic's document] | ||
'''replicated''' — Same as memory, but session data is replicated across the clustered servers. | '''replicated''' — Same as memory, but session data is replicated across the clustered servers. | ||
Line 50: | Line 51: | ||
= Setting up Weblogic Clusters= | = Setting up Weblogic Clusters= | ||
After those things done above, please follow the official document to set up a Weblogic Cluster Server [http://download.oracle.com/docs/cd/E12840_01/wls/docs103/cluster/setup.html here]. | After those things done above, please follow the official document to set up a Weblogic Cluster Server [http://download.oracle.com/docs/cd/E12840_01/wls/docs103/cluster/setup.html here]. | ||
+ | |||
+ | = Including zul in JSP in Weblogic= | ||
+ | Weblogic JSP writer implementation uses response#getOutputStream for JSP blocks. | ||
+ | Using the <source><jsp:include src="foo/bar/mypage.zul"></source> tag in weblogic will cause the ZK layout servlet to write the zul file to response#getWriter. | ||
+ | |||
+ | This will cause an error "Cannot call outputStream because getWriter was already called" | ||
+ | |||
+ | Instead, use | ||
+ | <source> | ||
+ | <%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c" %> | ||
+ | <c:import var = "data" url = "foo/bar/mypage.zul"/><c:import> | ||
+ | </source> | ||
+ | |||
+ | * <distributable/> in web.xml is not used by WebLogic Server 12c. (https://docs.oracle.com/cd/E24329_01/web.1211/e21049/web_xml.htm#WBAPP510) | ||
+ | |||
=Version History= | =Version History= | ||
+ | {{LastUpdated}} | ||
{| border='1px' | width="100%" | {| border='1px' | width="100%" |
Latest revision as of 10:26, 10 May 2022
Before You Start
You have to configure the following setting for ZK and Weblogic.
zk.xml
- Turn on Serializable UI Factory for ZK, please refer to this documentation.
<zk>
<system-config>
<ui-factory-class>org.zkoss.zk.ui.http.SerializableUiFactory</ui-factory-class>
</system-config>
<!-- clustering environment, since ZK 5.0.8-->
<listener>
<listener-class>org.zkoss.zkplus.cluster.ClusterSessionPatch</listener-class>
</listener>
</zk>
weblogic.xml
- Add a weblogic.xml under XXX/WEB-INF folder(XXX is like ZKsandbox in the war file)
For example,
<!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN"
"http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd">
<weblogic-web-app>
<session-descriptor>
<session-param>
<param-name>PersistentStoreType</param-name>
<param-value>replicated</param-value>
</session-param>
</session-descriptor>
</weblogic-web-app>
For Weblogic version 12c
<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-web-app
xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.5/weblogic-web-app.xsd">
<wls:session-descriptor>
<wls:persistent-store-type>replicated</wls:persistent-store-type>
</wls:session-descriptor>
</wls:weblogic-web-app>
As mentioned in Weblogic's document
replicated — Same as memory, but session data is replicated across the clustered servers.
Setting up Weblogic Clusters
After those things done above, please follow the official document to set up a Weblogic Cluster Server here.
Including zul in JSP in Weblogic
Weblogic JSP writer implementation uses response#getOutputStream for JSP blocks.
Using the
<jsp:include src="foo/bar/mypage.zul">
tag in weblogic will cause the ZK layout servlet to write the zul file to response#getWriter.
This will cause an error "Cannot call outputStream because getWriter was already called"
Instead, use
<%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c" %>
<c:import var = "data" url = "foo/bar/mypage.zul"/><c:import>
- <distributable/> in web.xml is not used by WebLogic Server 12c. (https://docs.oracle.com/cd/E24329_01/web.1211/e21049/web_xml.htm#WBAPP510)
Version History
Version | Date | Content |
---|---|---|
5.0.8 | June 2011 | Add ClusterSessionPatch listener to zk.xml for enforce Weblogic to write session. |