Why do you think this is causing problems? How large is the setup list that is being called?
What do You mean by "setup size" ?
Are you basically saying the lock contention on ThreadActionData._threadSetups is a performance problem for you?
It's not something that has shown up as an issue in the past, but we can certainly look at reducing that locking if needed. Each element in the list needs to be setup for each Thread, but the number of elements should be small. That's what Mark is referring to I think. Off the top of my head it's only JTS ORB interceptors - for JTA use the list is most likely empty, in which case the lock contention is just to access the size() method on the Vector!
Yes, that's precisely what I mean. It should be 0 length most of the time. That's why I don't see how it can be a performance bottleneck.