Mantis - Resin
Viewing Issue Advanced Details
1723 minor always 05-01-07 09:06 05-15-07 13:28
ferg  
ferg  
normal  
closed  
fixed  
none    
none 3.1.1  
0001723: JSP: ResourceBundle caching
(rep by Fred Douthit)

We are having what looks like resource contention for resource bundles. It appears that we are using the resin implementation of bean:message. What I am seeing appears to be resource contention load bundles from the file system which should have been cached. See the section Relevant Information 1st, but also, SERVER-WIDE STACK DUMP, for a more complete thread dump. What I am looking for is an idea why this is happening but more importantly, how I can resolve it.
 
Thanks!
 
Fred
 
Relevant information
· We are using resin-pro-3.0.14.
· Performance testing found MANY threads in the application appear to block on:
java.lang.Class.forName0 (native method) - see stack trace attached.
· The method is native. It is possible that there is a critical section which is causing the code to single thread through this code. This behavior appears to be intrinsic to Sun's implementation.
· The underlying issue is that the code reads and parses ApplicationResources.properties and MoreApplicationResources.properties again and again.
· While the code is designed to cache the file contents it doesn't.
· These files are loaded from the file system.
· These files are referenced from between 0 and more than 60 times per jsp page.
· A typical reference looks like the following:
<bean:message key="custgroup.condition.label.abandcart"/>
· They contain name value pairs which look like the following:
tools.tax.state=State
 
Fraction of stack trace
  [1] java.lang.Class.forName0 (native method)
  [2] java.lang.Class.forName (Class.java:242)
  [3] com.caucho.jsp.BundleManager.getBaseBundle (BundleManager.java:202)
  [4] com.caucho.jsp.BundleManager.getBundle (BundleManager.java:144)
  [5] com.caucho.jsp.PageContextImpl.getBundle (PageContextImpl.java:1,164)
  [6] com.caucho.jsp.PageContextImpl.getLocalizedMessage (PageContextImpl.java:1,133)
  [7] _jsp._nav._TopNav__jsp._jspService (TopNav.jsp:46)
 

Notes
(0001916)
ferg   
05-15-07 13:28   
jsp/1c3y, jsp/1c3z