This should probably use Spring's TaskExecutor [1] support.

[1] - http://static.springsource.org/spring/docs/current/spring-framework-reference/html/scheduling.html