[jboss-cvs] jboss-portal-docs/referenceGuide/en/modules ...
Julien Viet
julien at jboss.com
Thu Jul 13 09:13:31 EDT 2006
User: julien
Date: 06/07/13 09:13:31
Modified: referenceGuide/en/modules clustering.xml
Log:
updated clustering doc
Revision Changes Path
1.9 +113 -19 jboss-portal-docs/referenceGuide/en/modules/clustering.xml
(In the diff below, changes in quantity of whitespace are not shown.)
Index: clustering.xml
===================================================================
RCS file: /cvsroot/jboss/jboss-portal-docs/referenceGuide/en/modules/clustering.xml,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- clustering.xml 13 Jul 2006 03:09:32 -0000 1.8
+++ clustering.xml 13 Jul 2006 13:13:31 -0000 1.9
@@ -81,6 +81,115 @@
persistent state like pages. If you don't use a shared database then you will have consitency problems.</listitem>
</itemizedlist></para>
</sect1>
+
+ <sect1>
+ <title>JBoss Portal Clustered Services</title>
+
+ <sect2 id="PortalSessionReplication">
+ <title>Portal Session Replication</title>
+ <para>The portal associates with each user an http session in order to keep specific objects such as:
+ <itemizedlist>
+ <listitem>Navigational state : this is mainly the state of the different portlet windows that the user will manipulate
+ during its interactions with the portal. For instance a maximized portlet window with specific render parameters.</listitem>
+ <listitem>WSRP objects : the WSRP protocol can require to provide specific cookies during interactions with a remote
+ portlet.</listitem>
+ </itemizedlist>
+ Replicating the portal session ensures that this state will be kept in sync on the cluster, e.g he will see the portlet
+ window he uses exactly the same on every node. The activation of the portal session replication is made through the
+ configuration of the web application that is the main entry point of the portal. This setting is available in the file
+ <emphasis>jboss-portal.sar/portal-server.war/WEB-INF/web.xml</emphasis></para>
+ <para>
+ <programlisting><![CDATA[
+<web-app>
+ <description>JBoss Portal</description>
+ <!-- Comment/Uncomment to enable portal session replication -->
+ <distributable/>
+ ...
+</web-app>
+]]></programlisting>
+ </para>
+ </sect2>
+
+ <sect2>
+ <title>Hibernate clustering</title>
+ <para>JBoss Portal leverages hibernate for its database access. In order to improve performances it uses
+ the caching features provided by hibernate. On a cluster the cache needs to be replicated in order
+ to avoid state inconsistencies. Hibernate is configured with JBoss Cache which perform that synchronization transparently.
+ Therefore the different hibernate services must be configured to use JBoss Cache, the following hibernate configurations
+ needs to use a replicated JBoss Cache :
+ <itemizedlist>
+ <listitem><emphasis>jboss-portal.sar/conf/hibernate/user/hibernate.cfg.xml</emphasis></listitem>
+ <listitem><emphasis>jboss-portal.sar/conf/hibernate/instances/hibernate.cfg.xml</emphasis></listitem>
+ <listitem><emphasis>jboss-portal.sar/conf/hibernate/portal/hibernate.cfg.xml</emphasis></listitem>
+ <listitem><emphasis>jboss-portal.sar/conf/hibernate/portlet/hibernate.cfg.xml</emphasis></listitem>
+ </itemizedlist>
+ The cache configuration should look like :
+ <programlisting><![CDATA[
+<!--
+ | Uncomment in clustered mode : use transactional replicated cache
+ -->
+ <property name="cache.provider_class">org.jboss.portal.core.hibernate.JMXTreeCacheProvider</property>
+ <property name="cache.object_name">portal:service=TreeCacheProvider,type=hibernate</property>
+<!-- -->
+
+<!--
+ | Comment in clustered mode
+ <property name="cache.provider_configuration_file_resource_path">conf/hibernate/instance/ehcache.xml</property>
+ <property name="cache.provider_class">org.hibernate.cache.EhCacheProvider</property>
+-->
+]]></programlisting>
+ Also we need to ensure that the cache is deployed by having in the file <emphasis>jboss-portal.sar/META-INF/jboss-service.xml</emphasis>
+ the cache service uncommented :
+ <programlisting><![CDATA[
+<!--
+ | Uncomment in clustered mode : replicated cache for hibernate
+ -->
+ <mbean
+ code="org.jboss.cache.TreeCache"
+ name="portal:service=TreeCache,type=hibernate">
+ <depends>jboss:service=Naming</depends>
+ <depends>jboss:service=TransactionManager</depends>
+ <attribute name="TransactionManagerLookupClass">org.jboss.cache.JBossTransactionManagerLookup</attribute>
+ <attribute name="IsolationLevel">REPEATABLE_READ</attribute>
+ <attribute name="CacheMode">REPL_SYNC</attribute>
+ <attribute name="ClusterName">portal.hibernate</attribute>
+ </mbean>
+
+ <mbean
+ code="org.jboss.portal.core.hibernate.JBossTreeCacheProvider"
+ name="portal:service=TreeCacheProvider,type=hibernate">
+ <depends optional-attribute-name="CacheName">portal:service=TreeCache,type=hibernate</depends>
+ </mbean>
+<!-- -->
+]]></programlisting>
+ </para>
+ </sect2>
+
+ <sect2>
+ <title>Identity clustering</title>
+ <para>JBoss Portal leverages the servlet container authentication for its own authentication mechanism. When the user
+ is authenticated on one particular node he will have to reauthenticate again if he use another node of the cluster (during
+ a failover for instance). This is valid only for the <emphasis>FORM</emphasis> based authentication which is the default
+ form of authentication that JBoss Portal uses. Fortunately JBoss provides transparent reauthentication of the user called
+ JBoss clustered SSO. Its activation is done by modifying the file <emphasis>JBOSS_HOME/server/all/deploy/jbossweb-tomcat55.sar/server.xml</emphasis>
+ and uncommenting the clustered sso valve
+ <programlisting><![CDATA[
+<!-- -->
+<Valve className="org.jboss.web.tomcat.tc5.sso.ClusteredSingleSignOn" />
+]]></programlisting>
+ </para>
+ </sect2>
+
+ <sect2>
+ <title>CMS clustering</title>
+ </sect2>
+
+ <sect2>
+ <title>HA Singleton</title>
+ </sect2>
+
+ </sect1>
+
<sect1>
<title>Portlet Session Replication</title>
<para>Web containers offer the capability to replicate sessions of web applications. In the context of a portal using portlets the use case is different. The portal itself is a web application
@@ -105,19 +214,7 @@
<sect2>
<title>JBoss Portal configuration</title>
<para>The mandatory step to make JBoss Portal able to replicate portlet sessions is to configure
- the portal web application to be distributed. This setting is available in the file
- <emphasis>jboss-portal.sar/portal-server.war/WEB-INF/web.xml</emphasis></para>
- <para>
- <programlisting>
- <![CDATA[
-<web-app>
- <description>JBoss Portal</description>
- <!-- Comment/Uncomment to enable portal session replication -->
- <distributable/>
- ...
-</web-app>
-]]></programlisting>
- </para>
+ the portal web application to be distributed which is explained in <xref linkend="PortalSessionReplication"/></para>
</sect2>
<sect2>
<title>Portlet configuration</title>
@@ -127,8 +224,7 @@
<listitem>Configure your portlet to be distributed in the <emphasis>/WEB-INF/jboss-portlet.xml</emphasis> file.</listitem>
</itemizedlist>
<para>
- <programlisting>
-<![CDATA[
+ <programlisting><![CDATA[
<web-app>
...
<listener>
@@ -142,8 +238,7 @@
</caption>
</para>
<para>
- <programlisting>
-<![CDATA[
+ <programlisting><![CDATA[
<portlet-app>
...
<portlet>
@@ -175,8 +270,7 @@
on the portlet session object in order to trigger replication by the container.</listitem>
</itemizedlist>
<para>
- <programlisting>
-<![CDATA[
+ <programlisting><![CDATA[
public void processAction(ActionRequest req, ActionResponse resp) throws PortletException, IOException
{
...
More information about the jboss-cvs-commits
mailing list