I'm currently tracking down performance issues in a highly multi-threaded application which heavily uses BeanUtils (1.8.3). I identified MethodUtils#getMatchingAccessibleMethod as a major problem. Especially its call to
Log log = LogFactory.getLog(MethodUtils.class); for each invocation. In my environment, using log4j, this always involves a call to HashTable which is synchronised. This causes a lot of waiting time in that call in my application. Please consider using a static logger on class level rather than the new logger for each invocation of MethodUtils#getMatchingAccessibleMethod. Cheers, Carsten