Have you checked out what the request map looks like while in the
thread. The request map is thread local, which means, if you create a
bunch of new threads, you won't have access to the values request-map
was set to in the original thread. The only way to fix this is to
somehow pass the data you need to the new threads, or pass the request
map and reset it in the new threads.
-Matt