When using camel-jms the consumers dont provide a default task executor. That means spring just creates a thread manually and dont reuse the thread.
We should provided a task executor from camel using the ExecutorServiceStrategy. This allows us to use human readable thread names which can provide details about the consumer. The thread pool is also managed and even a 3rd party provider can manage thread creation.
This only works when using Spring 3 as the task executor API is now aligned with the executor service api from the JDK.
For Spring 2.x users we should not do this. We will then have to detect the spring version in use.