Details
-
Bug
-
Resolution: Obsolete
-
Major
-
None
-
JBossAS-3.2.6 Final
-
None
-
None
Description
SourceForge Submitter: rodburgett .
The IdleRemover and PoolFiller classes in the
org.jboss.resource.connectionmanager package each
creates a Thread to perform it's job. Neither Thread is
terminated gracefully at shutdown, they continue until
all non-daemon threads terminate.
There are diff files attached for modifications to
terminate the threads when the RARDeployer is stopped.
The IdleRemover32.diff file contains an update to add a
public shutdown() method to the class. The new
method simply invokes the existing stop method on the
remover field.
The PoolFiller32.diff file contains updates to add a similar
public shutdown() method to the class. The new
method simply invokes a new stop method on the
remover field. The new stop method interrupts the
fillerThread, in a fashion very similar to IdelRemover.
Two additional updates are included for this class: the
addition of a Logger, and message logging as the thread
is terminated.
The RARDeployer32.diff file contains updates to make
use of the new shutdown methods in the other classes.
A stopService method was added to perform some local
cleanup:
- invoke super.stopService
- shut down the IdleRemover and PoolFiller threads
- null out the service controller field
Also, in the destroy method of the RARDeployer, the
order of two commands was reversed. super.destroy
should be called before the class loader of the
deployment info instance is nulled, since there's no
guarantee that the class loader won't be used by some
other destroy method in the inheritance chain.