No; it's not a leak; that's just the way the SimpleAsyncTaskExecutor names its threads. You get a new thread for each task; stopping the listener container terminates the original thread (...-1).
See the javadoc here http://static.springsource.org/sprin...kExecutor.html
If you want to reuse the original thread(s), use a thread-pooling TaskExecutor instead of the default SimpleAsyncTaskExecutor. You can inject your chosen TaskExecutor into the listener container.
Gary P. Russell
Spring Integration Team
SpringSource, a division of VMware