ClientPool holds the client instances in an ArrayList. The main purpose of
this is to make it easier to clean up all the instances at the end of a test.
If we didn't do this, threads might become zombie.
N.B. This class is thread safe as it is called from sample threads
and the thread that runs testEnded() methods.
Clear all the clients created by either Publish or Subscribe sampler. We
need to do this to make sure all the threads created during the test are
destroyed and cleaned up. In some cases, the client provided by the
manufacturer of the JMS server may have bugs and some threads may become
zombie. In those cases, it is not JMeter's responsibility.