Don’t create sessions in your Direct Actions.
Use existingSession() rather than session() (latter will create one if there
isn’t one). For example:
/**
* Do we have a current and valid logged in user?
* This method is careful not to create a session if one does not exist.
* @return
*/
public boolean isLoggedIn() {
Session session = (Session) existingSession();
if (session != null) {
return session.isUserAuthenticated();
}
return false;
}
> On 31 May 2016, at 16:35, Musall Maik <[email protected]> wrote:
>
> Hi all,
>
> in an application that gets frequent DirectAction calls from other
> applications, I'd like to reduce the overhead of creating a new session for
> every request. Currently I'm setting a short timeout, but creating and
> removing all those sessions seems like avoidable overhead.
>
> How about overriding WOApplication.createSessionForRequest()? I could try to
> determine if it was called from within DA processing, and then return a
> pooled session, but as I see it I'd have to fiddle with the
> _activeSessionsCount to compensate, and I suspect the rest of WOApplication
> always expects this method to return a newly created session.
>
> So, does anyone else do something similar?
>
> Thanks
> Maik
>
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list ([email protected])
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/webobjects-dev/mark%40wardle.org
>
> This email sent to [email protected]
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list ([email protected])
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com
This email sent to [email protected]