Maximo MAXSESSION Table Explained
Updated: Feb 18
Maximo MAXSESSION table holds information about every session, providing an entry with some details about every user and JVM (server). But there are more to discover.
When a user logs in or a JVM is started an entry is added to the Maximo MAXSESSION table. As a start, this information is helpful when troubleshooting, running configuration, or simply to gather some statistics. Users and JVMs can be identified apart using the “Is System” attribute, which is set to 1 in case of a JVM and set to 0 in case of a user.
Entries in the Maximo MAXSESSION table are kept updated, using an internal cron task which runs every 1 minute. If the user is still connected, the “Server Time Stamp” will be updated to the current time, however, if the user has logged out then their entry will be removed from the table.
So if the user has abnormally exited the system, like closing down the internet browser without logging out, then their entry’s “Server Time Stamp” will be older than 1 minute. The same applies to JVMs, if the server crashed or failed, then their entry’s “Server Time Stamp” will be older than 1 minute as well.
Additionally, as the user is performing actions in Maximo, not only logged in, heir entry’s “Last Activity” will be updated. Logged in but idle users can be detected using this field by comparing it to the current system time stamp.
Check my post about implementing Maximo JMeter Monitor which details how to implement a simple yet effective HTTP monitor and behave just like a normal user.
Users can log into Maximo from different browsers, or two different taps, and as expected from Maximo MAXSESSION table it will add an entry for every log in. A user with two simultaneous log in will have two separate entries in the MAXSESSION table. Of course, this is can be controlled using the system property “mxe.enableConcurrentCheck”. Set the “Enable Concurrent Check” to 0 and users won’t be able to log into the system more than once!
Be informed that with the “Enable Concurrent Check” property set to 0, if a user closes down their browser, they won’t be able to log back in again until their session is timed out and/or their MAXSESSION entry is deleted! Use it with caution.
Another interesting attribute of this table is the “Reload Cache” attribute. Maximo uses this attribute to communicate reloading/updating the cache among different servers and clusters.
Assume you have done some changes in the data dictionary or updated an application using the Application Designer, then this specific instance were the change took place will have its cache updated, furthermore, it must inform other instances to pick up those changes. This is done using the “Reload Cache” attribute, which is set for every entry with “Is System” set to 1.
With the right privilege, you can manually trigger reloading all instances cache just by utilizing this attribute. Of course, this is not the only way to request reloading the cache, you can simply set the Admin mode to OFF and ON.
Update the “Reload Cache” value and set it to “ALL” and this shall inform all the instances to reload all the caches. You can be a bit more specific and request reloading a specific cache, if you are 100% sure which cache needs to refreshed.
When the cache is reloaded, Maximo will output an indicative message in the system out log file. Make sure to set root logger in the Logging application to INFO and the cache management messages shall be printed out to the system out log file.
Here is a non-comprehensive list of cache names:
ALL – All caches
CTRLCONDPROP – conditional properties
SIGNATURE – Signature Options, menu, modules
MAXMESSAGECACHE – Max Messages
ADMINMODE – Admin Mode
MAXVARS – Max Vars
MAXIMODD – Data Dictionary, Max Relationships
MAXIMOMLDD – Multilanguage Data Dictionary
DataRestriction – Data Restrictions
SITE – Sites
SET – Item and Company set
AUTOKEYCACHE – Auto keys
MaxConditionCache – Conditions
MaxDomValConditionCache – Domain Conditions
MAXPROP – System Properties
PRESENTATION – Apps Presentation
DMEVENTLISTENERMGR – Deployment Manager Events Manager
MAXLOGGERCACHE – Logging
WFMBONAME – Workflow
AUTOINIT – Workflow Auto-initiate
Here is a description of MAXSESSION attributes from IBM documentation: