Hi Patrick, confirmed, see WICKET-6631
We'll fix it as soon as possible. Have fun Sven > > On 16.01.2019 at 13:56, <Patrick Schwarzer> wrote: > > > > > Dear Sir or Madam, > > > > > > > > we have done a Performance measurement on our application, which uses Wicket > 7.10 to identify performance hotspots. > > > > During this, we identified a programming issue in > AnnotProxyFieldValueFactory::getBeanName: > > > > > > > /** > * > * @param field > * @return bean name > */ > private String getBeanName(final Field field, String name, boolean > required, Class<?> generic) > { > if (Strings.isEmpty(name)) > { > Class<?> fieldType = field.getType(); > SimpleEntry<Class<?>, Class<?>> keyPair = > new SimpleEntry<Class<?>, Class<?>>(fieldType, generic); > > name = beanNameCache.get(fieldType); // BUG HERE, must be keyPair, NOT > fieldType > if (name == null) > { > name = getBeanNameOfClass(contextLocator.getSpringContext(), fieldType, > generic, field.getName()); > > if (name != null) > { > > String tmpName = beanNameCache.putIfAbsent(keyPair, name); // keyPair is > inserted into the Map here > if (tmpName != null) > { > name = tmpName; > } > } > } > } > > > > > > … > > > > > > > > It seems, that the caching mechanism is never used, because the get call uses > the wrong parameter (fieldType instead of keyPair). > > > > We are using Spring with Wicket, with many Components using @Inject > annotation. We figured out, that this bug slows down the inject process of > beans in our components significantly. > > > > > > > > We also checked the current Wicket version 7.11 and 8.2, both having this > issues. > > > > > > > > Can you confirm this bug and told us, when there will be a bugfix? > > > > > > > > Kind regards > > > > > > > > PATRICK SCHWARZER > SOFTWARE ENGINEER > > o+49 89 32175 655 > > TOMTEC Imaging Systems GmbH > Edisonstrasse 6, 85716 Unterschleissheim, Germany, Managing Director: > Johannes Waldinger, Dr. Thomas Piehler, HRB 235646 Amtsgericht Muenchen > > > > > > > > > > > > > > > >