Two suggestions (nothing more than guesses though, I'm afraid):
1. Try using the InitialContext constructor that takes a HashTable environment.
2. Try doing each connection in a separate thread.
It sounds like the underlying code is caching data somewhere, and perhaps one or both of these will circumvent that.
[Message sent by forum member 'matterbury' (matterbury)]
http://forums.java.net/jive/thread.jspa?messageID=334056