Hi Raymond,
I agree with Douglas. But nethertheless I had a quick look to your Java sources.
This can be a problem with your pool implementation. You need to be aware that the XMLRPCService class is not thread-safe. However, multiple parallel threads might run on the same instance because aquireService() returns a singleton instance of XMLRPCService for the same XMM file. And this might result in any kind of desaster in the XML Runtime 
You should check if that situation is possible in your application (multiple parallel threads working on the same XMLRPCService object). If yes you need to revise your code. You should also be aware that the Broker class is thread-safe, however parallel calls will be serialized so this is not recommended due to performance issues.
For an efficient pooling I would recommend using a Stack. aquireService() should pop() an entry from the stack (or create a new one if the stack is empty) and return this entry to the caller. The caller needs to put back the object when work is done with push(). Conceptually you would have this data structure:
Hashtable: XMM_filename → [Stack of XMLRPCService]
And whenever you create a new instance of XMLRPCService also use a fresh instance of Broker.
BTW please make sure that you are using the latest hotfix for the entirex.jar classes …
Hope this helps.
#Mainframe-Integration#EntireX#webMethods