Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.2.12
-
None
-
None
Description
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)
}
} catch (MissingResourceException e)
By applying the above patch I see a 50% reduction of the execution time of the method createResource.