Author: jleroux
Date: Fri Feb 10 20:38:46 2017
New Revision: 1782520
URL:
http://svn.apache.org/viewvc?rev=1782520&view=revLog:
Fixed: Reinstate url cache in UtilURL.fromResource
(OFBIZ-9208)
Adrian created the following commit to cache URL objects
Revision: 1649979
Author: adrianc
Date: 07 January 2015 00:24:28
Message:
Some optimizations for URL lookups.
----
Modified : /ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilProperties.java
Modified : /ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilURL.java
and was later reverted in this commit
Revision: 1650347
Author: adrianc
Date: 08 January 2015 17:53:59
Message:
Some small fixups for some of my previous commits.
----
Modified : /ofbiz/trunk/framework/entity/src/org/ofbiz/entity/util/EntityClassLoader.java
Modified : /ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilURL.java
We have found in one of our production servers that line 98 in UtilURL.java
url = loader.getResource(resourceName);
has caused locking and looking at the stack trace (from jstack). There are
numerous threads waiting on locks from within this method
I propose the cache gets added back (we have done this as a patch on our systems
with no ill effect)
FYI - The commits are in reference to the EntityClassLoader which is not used
and does not work see OFBIZ-6210
Thanks: Gareth Carter for report and suggestion
Modified:
ofbiz/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilURL.java
Modified: ofbiz/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilURL.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilURL.java?rev=1782520&r1=1782519&r2=1782520&view=diff==============================================================================
--- ofbiz/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilURL.java (original)
+++ ofbiz/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilURL.java Fri Feb 10 20:38:46 2017
@@ -97,8 +97,7 @@ public final class UtilURL {
}
url = loader.getResource(resourceName);
if (url != null) {
- // Do not cache URLs from ClassLoader - interferes with EntityClassLoader operation
- //urlMap.put(resourceName, url);
+ urlMap.put(resourceName, url);
return url;
}
url = ClassLoader.getSystemResource(resourceName);