Sun GlassFish Enterprise Server 2.1 Administration Guide

Chapter 16 Thread Pools

The Java Virtual Machine (JVM) can support many threads of execution at once. To help performance, the Enterprise Server maintains one or more thread pools. It is possible to assign specific thread pools to connector modules and to the ORB.

One thread pool can serve multiple connector modules and enterprise beans. Request threads handle user requests for application components. When the server receives a request, it assigns the request to a free thread from the thread pool. The thread executes the client's requests and returns results. For example, if the request needs to use a system resource that is currently busy, the thread waits until that resource is free before allowing the request to use that resource.

Specify the minimum and maximum number of threads that are reserved for requests from applications. The thread pool is dynamically adjusted between these two values. The minimum thread pool size that is specified signals the server to allocate at least that many threads in reserve for application requests. That number is increased up to the maximum thread pool size that is specified.

Increasing the number of threads available to a process allows the process to respond to more application requests simultaneously.

Avoid thread starvation, where one resource adapter or application occupies all threads in the Enterprise Server, by dividing the Enterprise Server threads into different thread-pools.

This chapter contains the following topics:

Working with Thread Pools

To create a thread pool using the Admin Console, go to Configuration > Thread Pools > Current Pools > New.

For more details on creating thread pools, click Help in the Admin Console.

You can also create a thread pool from the command-line by using the asadmin command, create-threadpool.

To edit a settings for a thread pool using the Admin Console, go to Configuration > Thread Pools > Current Pools and select the pool you want to configure. Modify the values for the selected thread pool, save and restart the Enterprise Server.

For more details on editing thread pools, click Help in the Admin Console.

To delete a thread pool using the Admin Console, go to Configuration > Thread Pools > Current Pools. Check the thread pool name to be deleted and click Delete.

You can also create a thread pool from the command-line by using the asadmin command, delete-threadpool.