Mantis - Resin
|
|||||
Viewing Issue Advanced Details | |||||
|
|||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1723 | minor | always | 05-01-07 09:06 | 05-15-07 13:28 | |
|
|||||
Reporter: | ferg | Platform: | |||
Assigned To: | ferg | OS: | |||
Priority: | normal | OS Version: | |||
Status: | closed | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.1 | ||
|
|||||
Summary: | 0001723: JSP: ResourceBundle caching | ||||
Description: |
(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) |
||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Relationships | |||||
Attached Files: |
Notes | |||||
|
|||||
|
|