How to use ORM and onSessionEnd()
At 16applications I use
ORM extensively. Recently I wanted to track when users sessions timed
out which the onSessionEnd function in Application.cfc is perfect for.
onSessionEnd is interesting in that its not part of a standard
ColdFusion request process which ORM is somewhat dependent on. In order
to use ORM inside it I had to use ormFlush() to get changes to flush to
the database.
function onSessionEnd( SessionScope ) { if ( structKeyExists( arguments.SessionScope, "loginTrackerId" ) ) { var lt = entityload("loginTracker", {loginTrackerId=arguments.SessionScope.loginTrackerId}, true ); lt.setOutDT( now() );
lt.setTimedOut( true );
ormFlush();
}
}
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)
Tags:






Comments
Mark Mandel replied on Thu, 2011/06/09 - 8:44pm
Wouldn't it have been better to use a transaction block?