Thanks, this is exactly what I'm looking for! There is one thing left
for me to solve though: I can't figure out how I can retrieve the portal
session from the onEnd()-method of my PortletInvocationListener. In
uPortal the portal request can be retrieved using
IPortalRequestUtils.getOriginalPortalRequest() but I can't find a way to
do that within the pluto portal.
I tried using the PortalRequestContext that is stored as the request
attribute PortalRequestContext.REQUEST_KEY but that gives me the request
after it has already been dispatched to the pluto PortletServlet.
/ Anders
Eric Dalquist skrev:
We do this in uPortal by using a PortletInvocationListener to track
all of the sessions that have been created for portlets and then a
HttpSessionListener which generates Spring ApplicationContext events
for session created/destroyed events.
Our custom listener:
https://www.ja-sig.org/svn/uPortal/trunk/uportal-impl/src/main/java/org/jasig/portal/portlet/session/PortletSessionExpirationManager.java
Our session listener:
https://www.ja-sig.org/svn/uPortal/trunk/uportal-impl/src/main/java/org/jasig/portal/spring/web/context/support/ApplicationContextDelagatingSessionListener.java
-Eric
Anders Olsson wrote:
Hi!
I have created a simple custom portal based on pluto-portal. From a
servlet in my custom portal I want to invalidate all related sessions
in my deployed portlet applications, is there an easy way to do this,
using the portal-driver?
I suppose one possibility would be to iterate through all configured
portlets and trigger an ActionRequest and in each of the portlets
make sure that they respond to that request by invalidating the
session. But I would just want to know if there's a better/easier way?
All portlets are separate web applications.
Regards
Anders