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