Gregg Wonderly wrote:
I have been looking into some seemingly slow responses in several
clients running simultaneously, and I see in some stack traces that
there are synchronization points in DynamicPolicyProvider.implies()
that seem to be heavily contended. We probably need to revisit this
class and rewrite it to use copy on write mutation so that reads (the
majority of activity) are completely uncontended.
Any thoughts or experience with this issue?
This sounds like a job for java.util.concurrent.ReentrantReadWriteLock!
Da dat, da dat, da dat, da da! Requires Java 5, works well, the
javadoc is clear too. Can you submit this as an issue on Jira?
Cheers,
Peter.
Gregg Wonderly