Shravan Kumar.M wrote:
Basically, we have couple of applications running on several ports. We need a way to identify the number of active sessions on each instance from outside the application for a given application and instance.
Do we have any commands to achieve this or do we need to programatically achieve this ?
You can access to this information sending requests to wotaskd services, just like does JavaMonitor. You'll get an XML document which contains several informations including the number of active sessions.
You can fetch this data using WebObjects application, Java, command line tools, etc. Youl just have to respect the request structure described below and parse the XML result to sum up all active sessions of all application instances.
WebObjects Application Instances Information Request
To get WebObjects application instances information XML, a POST HTTP message should be sent to wotaskd service on each application server host requesting the "/cgi-bin/WebObjects/wotaskd.woa/wa/monitorRequest" direct action.
Header
The header of this message shoud contains the encoded password set for the wotaskd service through the JavaMonitor application, just like this:
password: 10E960A85159ED401DE39185EAA5DC98109B
You can find this encoded password in the "<SiteConfig><site><password>" field of the "/Library/WebObjects/Configuration/SiteConfig.xml" file on one of the application server host.
Body
The body of this message should contains this:
<monitorRequest type="NSDictionary">
<queryWotaskd type="NSString">INSTANCE</queryWotaskd>
</monitorRequest>
Example
This is an example using curl command:
curl --data '<monitorRequest type="NSDictionary"><queryWotaskd type="NSString">INSTANCE</queryWotaskd></monitorRequest>' --header 'password: <EncodedWOTaskDPassword>' http://<ApplicationServerHost>:1085/cgi-bin/WebObjects/wotaskd.woa/wa/monitorRequest
Kind regards,