Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 1.6
-
Fix Version/s: 1.7.1
-
Component/s: None
-
Labels:None
-
Environment:Liferay 4.3.2 / Tomcat 6.0.13
-
Workaround Exists:Yes
-
Workaround Description:
Description
This is very easy to reproduce:
1. Download Liferay 4.3.2 / Tomcat 6.0.13 bundle and extract
2. Download the sample-icefaces-sun-portlet from the Liferay website
3. COPY (don't move) the sample-icefaces-sun-portlet in your $HOME/liferay/deploy folder (hot deploy folder)
4. Verify in the Tomcat console that the portlet plugin extracts and registers itself
5. Startup IE7, and add the portlet to a page (and keep viewing the page)
6. Repeat step #3 and #4
7. Click Reload button
At this point you should get the "User Session Expired" error message, and the only way to fix it is to restart Tomcat.
Now this is a problem under two circumstances:
1. When developers are creating ICEfaces portlets, they often want to incrementally test their changes. The way to do this in Liferay is to keep re-hot-deploying the portlet, but the "User Session Expired" error message is not exactly thruthful, in that the user is still able to visit other portal pages and continue to use Liferay.
2. When Portal administrators download new versions of Liferay portlet plugins, and want to deploy them to their employees/customers in their intranet. But Portal admins aren't always in a position where they can restart Tomcat, because it might be in the middle of a work day, or a mission-critical system.
1. Download Liferay 4.3.2 / Tomcat 6.0.13 bundle and extract
2. Download the sample-icefaces-sun-portlet from the Liferay website
3. COPY (don't move) the sample-icefaces-sun-portlet in your $HOME/liferay/deploy folder (hot deploy folder)
4. Verify in the Tomcat console that the portlet plugin extracts and registers itself
5. Startup IE7, and add the portlet to a page (and keep viewing the page)
6. Repeat step #3 and #4
7. Click Reload button
At this point you should get the "User Session Expired" error message, and the only way to fix it is to restart Tomcat.
Now this is a problem under two circumstances:
1. When developers are creating ICEfaces portlets, they often want to incrementally test their changes. The way to do this in Liferay is to keep re-hot-deploying the portlet, but the "User Session Expired" error message is not exactly thruthful, in that the user is still able to visit other portal pages and continue to use Liferay.
2. When Portal administrators download new versions of Liferay portlet plugins, and want to deploy them to their employees/customers in their intranet. But Portal admins aren't always in a position where they can restart Tomcat, because it might be in the middle of a work day, or a mission-critical system.
Adding emptySessionPath="true" attribute to the connector element in the tomcat conf/server.xml file seems to fix this problem