On 10/11/07, Dmitry Beransky <[EMAIL PROTECTED]> wrote: > Hi, > > We are still using an old version of Struts (1.0.2) and at this point > upgrading to a newer version would require a really compelling reason, which > I might have found. While investigating reasons behind slowness of our > website under a heavy load, I stumbled upon a very heavy contention issue > with PropertyDescriptor.getReadMethod(). Profiling with YourKit showed that > all Tomcats threads block each other while in that method at a rate close to > 50%. Backtracing revealed that calls to getReadMethod() are done via > commons-beanutil (we are using v. 1.6) from Struts' own OptionsTag.doEndTag().
AFAIK Struts 1.0.2 was before Commons BeanUtils (Struts utility classes were factored out to become Commons BeanUtils) - but my understanding is that Struts only used Commoms BeanUtils from 1.1 onwards - up till then they (e.g. PropertyUtils) were internal to Struts. Anyway, thats a bit of a moot point since both the old internal Struts PropertyUtils and current Commons BeanUtils's PropertyUtils both still use PropertyDescriptor.getReadMethod() - so it doesn't seem like upgrading from Struts 1.0.2 to later Struts & BeanUtils would make any difference. Since where you say you have an issue though is in java's PropertyDescriptor.getReadMethod() then perhaps upgrading the JDK might make a difference? Would be interesting to know which JDK version (and Tomcat version) you're using Niall > Can anyone tell me if this issue has been addressed and fixed in more recent > releases of Struts? > > > Thanks > Dmitry --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]