...
- The HTTP <Connector> declaration and the AJP/1.3 <Connector> declaration both contain 'emptySessionPath="true"' -- – this is necessary so that we can share session information between servlets and portlets by having the path on the session cookie be set to '/' instead of the path of the webapp. Without this, the portal webapp and the portlet webapp will get separate session cookies and therefore separate session IDs.
- The <Engine> declaration has 'jvmRoute="tomcatA"' set in it. This is needed to identify the engine to enable sticky sessions (i.e. a user stays with the same engine for his entire session unless the engine becomes unavailable).
- The entire section for the <Cluster> declaration has been enabled using all the default settings.
- The 'port' for the <Server> declaration, the 'port' for both <Connector> declarations, the 'redirectPort' for the AJP <Connector> declaration, and the 'tcpListenPort' for the <Receiver> declaration inside the <Cluster> declaration have all been incremented by one in order to not conflict with any preexisting install of Tomcat.
...
Obtain the current pluto-lib-core and pluto-lib-tools downloads from the Pluto website -- – they are available in both .zip and .tar.gz format, depending on your preference. I'm working with the 1.0.1 release at this point.
...
The definition of 'crossContext="true"' is critical here -- – this allows the Pluto Portal Driver to make calls into the portlets running inside other webapps.
...
Use the deployment portlet inside Pluto to deploy the session-test.war file. Do not just deploy the war file into Tomcat directly -- – the deployment process makes some necessary modifications to the web.xml file. To do this, complete the following:
...
The Pluto Portal Driver does not come declared as distributable. We specifically held off on modifying the pluto webapp for this because the 'Deploy War Admin Portlet' violates the rules -- – it puts something in the session that is not serializable. Since we are done using that tool now, we can proceed.
...
Now open a separate browser window and go to http://localhost/pluto/portal/session-test/ -- – you should see the Pluto environment and the two instances of the session-test portlet. You should also see an entry at the bottom of the portlets that lists the phyiscal location of the JSP file you are viewing. The path in this entry will indicate whether the loadbalancer is sending you to tomcatA or tomcatB.
...