[ https://issues.apache.org/jira/browse/MYFACES-4330?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17087443#comment-17087443 ]
Thomas Andraschko commented on MYFACES-4330: -------------------------------------------- i see, thanks! As i said, further performance improvements are very very welcome! > [perf] Bad performance of ResourceHandlerImpl because of unnecessary > MissingResourceException > --------------------------------------------------------------------------------------------- > > Key: MYFACES-4330 > URL: https://issues.apache.org/jira/browse/MYFACES-4330 > Project: MyFaces Core > Issue Type: Bug > Affects Versions: 2.2.12 > Reporter: Reto Weiss > Priority: Major > Fix For: 2.2.13, 2.3.7, 3.0.0, 2.3-next-M3 > > Attachments: myfaces.patch > > > While processing JSF resource requests a lot of MissingResourceExceptions are > thrown and catched right afterwards if you have a message bundle installed > but no resource for the key 'javax.faces.resource.localePrefix' is provided > (like in the case of Primefaces). > This can lead to performance problems because creating and throwing an > exception is a heavy operation. The throwing of the exception can be > prevented by first checking if a resource contains a certain resource before > accessing it: > try { > ResourceBundle bundle = ResourceBundle > .getBundle(bundleName, locale, > ClassUtils.getContextClassLoader()); if (bundle != null) > { if > (bundle.containsKey(ResourceHandler.LOCALE_PREFIX)) > \{ > localePrefix = > bundle.getString(ResourceHandler.LOCALE_PREFIX); > } > } > } catch (MissingResourceException e) > { // Ignore it and return null } > By applying the above patch I see a 50% reduction of the execution time of > the method createResource. -- This message was sent by Atlassian Jira (v8.3.4#803005)