Task Engine 10.11 | Task Engine Webhelp | webMethods Task Engine User's Guide | Configuring the Task Engine Environment | Configuring the WmTaskClient Package | About WmTaskClient and Session Pooling
About WmTaskClient and Session Pooling
The WmTaskClient package maintains sessions with Task Engine using a session-affinity model, also known as cookie-based or sticky sessions. When connecting to Task Engine through load-balancing hardware, the load balancer should be configured to use session affinity.
In this configuration, WmTaskClient reuses the sessions, which enables clients to avoid repeated re-authentication. The session pooling will reuse an established session when one is available, and if all sessions are busy, a new session is created. When returning that session to the pool, the session is placed at the end of the list of available sessions. This session affinity model can create a situation where one node in the cluster receives more requests than the other, which can cause saturation in high-volume environments.
With session affinity, pool sizes will grow as needed and will shrink as individual sessions within the pool expire, which is unlikely to happen since sessions are re-used. Session expiration is not handled by the client, but is managed by the target My webMethods Server.
If the load balancer is set to use round-robin session management, WmTaskClient creates a new session per request on My webMethods Server and does not reuse them. This provides a better balance but affects performance, as the client needs to re-authenticate and logon again with each request. In addition, Jetty EofException errors may be observed in the server log.