I have a few websites running under a single Tomcat packaged as separate war files. Recently, I have started to run into issues with thread starvation, which seems to stem from Struts 2. Specifically, calls to ResourceBundle.getBundle via LocalizedTextUtil.findResourceBundle end up contending on the lock for WebAppClassLoader.
When testing things locally, it looks like the findResourceBundle is called numerous times for each <s:text> tag, with various bundle names being tried, many resulting in a MissingResourceException which does not get cached.
I will attach a couple of thread dumps that exemplify the situation.
If you suspect this is caused by something I am doing wrong on my end, please do let me know!