The AnnotationActionValidatorManager should be using ConcurrentHashMap
and putIfAbsent for maximal concurrency. Could you file an issue in
JIRA?

On Sat, Apr 18, 2009 at 6:38 PM, stanlick <stanl...@gmail.com> wrote:
>
> I am running JMeter over an application and after about an hour of ten
> threads making relatively inconsequential requests, I am starting to notice
> many threads waiting on monitors and thread dumps that point to line 63 of
> AnnotationActionValidatorManager.
>
>    public synchronized List<Validator> getValidators(Class clazz, String
> context, String method) {
>        final String validatorKey = buildValidatorKey(clazz, context);
>
>        if (validatorCache.containsKey(validatorKey)) {
>            if (FileManager.isReloadingConfigs()) {
>                validatorCache.put(validatorKey,
> buildValidatorConfigs(clazz, context, true, null));
>            }
>        } else {
>            validatorCache.put(validatorKey, buildValidatorConfigs(clazz,
> context, false, null));
>        }
>
> ================
> PARTIAL THREAD DUMP
> ================
>
> "http-8080-9" daemon prio=6 tid=0x1dd9c400 nid=0x105c waiting for monitor
> entry [0x1eefb000..0x1eeffbe8]
>   java.lang.Thread.State: BLOCKED (on object monitor)
>        at
> com.opensymphony.xwork2.validator.AnnotationActionValidatorManager.getValidators(AnnotationActionValidatorManager.java:63)
>        - waiting to lock <0x0c0d9248> (a
> com.opensymphony.xwork2.validator.AnnotationActionValidatorManager)
>        at
> com.opensymphony.xwork2.validator.AnnotationActionValidatorManager.validate(AnnotationActionValidatorManager.java:109)
>        at
> com.opensymphony.xwork2.validator.AnnotationActionValidatorManager.validate(AnnotationActionValidatorManager.java:101)
>
>
> --
> View this message in context: 
> http://www.nabble.com/Struts-2.1.2-AnnotationActionValidatorManager-and-synchronization-tp23114804p23114804.html
> Sent from the Struts - Dev mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org
> For additional commands, e-mail: dev-h...@struts.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org
For additional commands, e-mail: dev-h...@struts.apache.org

Reply via email to