Services and Threads

Can someone quickly tell me this - if service X is executing when another request of service X is raised, the webMethods IS will spawn a thread and two instances of the service will execute in two threads without interferring each other. Now,
What is the limit of the number of such threads for a particular service X? Is it specified somewhere for each service?
OR does “Settings > Resources > Maximum Threads” apply to all the services in general?
What is meaning of “Settings > Resources > Minimum Threads”?
Am I overlooking/missing any other setting?

You did not look at the heading “Server Thread Pool”. You can click the help link at the upper right corner. It will take you to:

Where you will find (I copy and paste here):
Server Thread Pool

This section displays the minimum and maximum settings for the server’s general thread pool, and the threshold at which the server warns of too few threads being available. This general thread pool is used by non-scheduled processes and services.

Available Threads

Displays the percentage and number of unused threads that are currently available to the Java virtual machine.

Maximum Threads

Displays the maximum number of threads that the server maintains in the thread pool. If this maximum number is reached, the server waits until processes complete and return threads to the pool before starting more processes. The default is 75.

Minimum Threads

Displays the minimum number of threads that the server maintains in the thread pool. When the server starts, the pool initially contains this minimum number of threads. The server adds threads to the pool as needed until it reaches the maximum allowed, which is specified in the Maximum Threads field. The default is 10.

Available Threads Warning Threshold
Displays the point at which the server issues warnings about the percentage of available threads. The number is measured as a percentage of the total number of threads in the server thread pool. When the percentage of available threads equals this percentage, the server generates a journal log message indicating the current available thread percentage and stating that the “Available Threads Warning Threshold Exceeded.” For example, if this value is set to 15% and the maximum size of the server thread pool is 80, the server will create Journal log entries when the number of available threads reaches 12. The default is 15%.

Good day.

Yemi Bedu

Each incoming request gets it’s own thread. If each request if from a different client or different session, there should be no interaction between the instances unless the implementation of a Java service calls non-thread safe code. Note that these instances would run on the same ClassLoader, so if a Java service calls code that uses Static classes there could be problems.

If two request happen at the same time from the same client and session there could be interaction with information stored in the session, but that queries calling IS Java APIs that are not commonly used. (ie. you would only get a problem if you explicitly did work to share data across invocations).

There isn’t a setting to limit the number of instances/threads executing a specific service.