Re: Invalidating all portlet sessions

Anders Olsson <[email protected]> Mon, 14 Jul 2008 20:47:49 +0200
Newsgroups gmane.comp.jakarta.pluto.user
Message-ID <[email protected]>
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
>>
>>