Author: dkulp Date: Wed Jan 28 17:12:36 2009 New Revision: 738546 URL: http://svn.apache.org/viewvc?rev=738546&view=rev Log: Merged revisions 738167 via svnmerge from https://svn.apache.org/repos/asf/cxf/branches/2.1.x-fixes
................ r738167 | dkulp | 2009-01-27 12:49:44 -0500 (Tue, 27 Jan 2009) | 9 lines Merged revisions 738166 via svnmerge from https://svn.apache.org/repos/asf/cxf/trunk ........ r738166 | dkulp | 2009-01-27 12:47:59 -0500 (Tue, 27 Jan 2009) | 2 lines [CXF-1140] For http urls to wsdl/schema, well cache the results as wsdl4j doesn't call "close()" till the end which results in the connection to the server being held open consuming ports on the server. Caching allows the keepalives to work and everything transferred over one connection. ........ ................ Modified: cxf/branches/2.0.x-fixes/ (props changed) cxf/branches/2.0.x-fixes/common/common/src/main/java/org/apache/cxf/resource/ExtendedURIResolver.java cxf/branches/2.0.x-fixes/common/common/src/main/java/org/apache/cxf/resource/URIResolver.java cxf/branches/2.0.x-fixes/rt/core/src/main/java/org/apache/cxf/catalog/CatalogWSDLLocator.java Propchange: cxf/branches/2.0.x-fixes/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Jan 28 17:12:36 2009 @@ -1,3 +1,3 @@ -/cxf/branches/2.1.x-fixes:673548,674485,674547,674551,674562,674601,674649,674764,674887,675644,675653,677048,677385,678004,678009,678559,678629,678808,678852,678891,678893,679248,679597,680435,681060,681165,681813,681816,682902,682951,683089,683290,683318,684099,684790-684793,684842,684862,684895-684918,685205,685253,686237,686283,686299,686333-686364,686765,686827,687097,687464-687465,689109,689112,689122,691316,691357,691491,691711,691715,691745,692162-692163,692468,692500,694466-694469,694472,694717,694748-694749,694870,695503,695509,695553,695555,695563,695875-695877,695940,695980,696436,696455,696721,697086,698129,701526,701634,702275,702443,702527,702582,702604,702610,702642-702643,702649,702760,702870,702873,702959,703193,703242,703523,704303,704587,704738,704998,705153,705280-705449,705455,709357,709641,709644,710177,710184,711736,712199,712225,712275,712600,712896,713083,713410,713413,713594,713599,713808,713901,714169-714171,718622,718929,719211,719221-719223,7192 96,719300-719301,719303,719308,719332,719356,719363,719369-719383,719650,719695,720124,723545,724403-724404,724421,724448,724451,724486-724487,724714,725367,725371,725763,725774,726045,726048,726106,726123,726745-726746,726749,726754,726756-726758,726995,727794,727797-727798,727800,731676,731684,731686-731688,731690,733587,733873,733876,733884,733891,733893,733915,735132,735136,735789,736451,736453,736456,736761,736765,736771,736827,736853,737126,737706,737714,737716,737726,737729-737730,737732,737734,737737,737861 -/cxf/trunk:651669-686342,686344-686363,686764,686820,687096,687387,687463,688086,688102,688735,691271,691355,691488,691602,691706,691728,692116,692157,692466,692499,693653,693819,694179,694263,694417,694716,694744,694747,694869,695396,695484,695537,695552,695561,695619,695684,695835,695935,695977,696094,696433,696720,697085,698128,700261,700602,701783,701830,701862,702267,702580,702602,702609,702616,702656,702957,703191,703239,703501,704584,704997,705150,705274,705340,705446,708550,708554,709353-709354,709425,710150,712194,712198,712272,712312,712670,712893,713082,713584,713597,713804,713899,714167-714168,718281,718565,718620,718640,718665,719017,719210,719215-719218,719222,719273,719327-719354,719362,719368,719382,719649,719680,720119-720217,723338,723717-723791,724334-724371,724433-724438,724449,724481,724485,724668,724782,724795,725754,725773,725799,725839,726342,726524,726631,726637,726639,726692,726724,726992,727445,727692,727754,727792,730139,731598,731604,731615,73163 1,731635,732320,732363,732411,732710,732827,733582,734666,734836,735734,736332,736343,736352,736408,736423,736491,736738,736766,736825,736852,737032,737069,737124,737237,737299,737356,737494,737498,737855 +/cxf/branches/2.1.x-fixes:673548,674485,674547,674551,674562,674601,674649,674764,674887,675644,675653,677048,677385,678004,678009,678559,678629,678808,678852,678891,678893,679248,679597,680435,681060,681165,681813,681816,682902,682951,683089,683290,683318,684099,684790-684793,684842,684862,684895-684918,685205,685253,686237,686283,686299,686333-686364,686765,686827,687097,687464-687465,689109,689112,689122,691316,691357,691491,691711,691715,691745,692162-692163,692468,692500,694466-694469,694472,694717,694748-694749,694870,695503,695509,695553,695555,695563,695875-695877,695940,695980,696436,696455,696721,697086,698129,701526,701634,702275,702443,702527,702582,702604,702610,702642-702643,702649,702760,702870,702873,702959,703193,703242,703523,704303,704587,704738,704998,705153,705280-705449,705455,709357,709641,709644,710177,710184,711736,712199,712225,712275,712600,712896,713083,713410,713413,713594,713599,713808,713901,714169-714171,718622,718929,719211,719221-719223,7192 96,719300-719301,719303,719308,719332,719356,719363,719369-719383,719650,719695,720124,723545,724403-724404,724421,724448,724451,724486-724487,724714,725367,725371,725763,725774,726045,726048,726106,726123,726745-726746,726749,726754,726756-726758,726995,727794,727797-727798,727800,731676,731684,731686-731688,731690,733587,733873,733876,733884,733891,733893,733915,735132,735136,735789,736451,736453,736456,736761,736765,736771,736827,736853,737126,737706,737714,737716,737726,737729-737730,737732,737734,737737,737861,738167 +/cxf/trunk:651669-686342,686344-686363,686764,686820,687096,687387,687463,688086,688102,688735,691271,691355,691488,691602,691706,691728,692116,692157,692466,692499,693653,693819,694179,694263,694417,694716,694744,694747,694869,695396,695484,695537,695552,695561,695619,695684,695835,695935,695977,696094,696433,696720,697085,698128,700261,700602,701783,701830,701862,702267,702580,702602,702609,702616,702656,702957,703191,703239,703501,704584,704997,705150,705274,705340,705446,708550,708554,709353-709354,709425,710150,712194,712198,712272,712312,712670,712893,713082,713584,713597,713804,713899,714167-714168,718281,718565,718620,718640,718665,719017,719210,719215-719218,719222,719273,719327-719354,719362,719368,719382,719649,719680,720119-720217,723338,723717-723791,724334-724371,724433-724438,724449,724481,724485,724668,724782,724795,725754,725773,725799,725839,726342,726524,726631,726637,726639,726692,726724,726992,727445,727692,727754,727792,730139,731598,731604,731615,73163 1,731635,732320,732363,732411,732710,732827,733582,734666,734836,735734,736332,736343,736352,736408,736423,736491,736738,736766,736825,736852,737032,737069,737124,737237,737299,737356,737494,737498,737855,738166 /incubator/cxf/trunk:434594-651668 Propchange: cxf/branches/2.0.x-fixes/ ------------------------------------------------------------------------------ Binary property 'svnmerge-integrated' - no diff available. Modified: cxf/branches/2.0.x-fixes/common/common/src/main/java/org/apache/cxf/resource/ExtendedURIResolver.java URL: http://svn.apache.org/viewvc/cxf/branches/2.0.x-fixes/common/common/src/main/java/org/apache/cxf/resource/ExtendedURIResolver.java?rev=738546&r1=738545&r2=738546&view=diff ============================================================================== --- cxf/branches/2.0.x-fixes/common/common/src/main/java/org/apache/cxf/resource/ExtendedURIResolver.java (original) +++ cxf/branches/2.0.x-fixes/common/common/src/main/java/org/apache/cxf/resource/ExtendedURIResolver.java Wed Jan 28 17:12:36 2009 @@ -52,9 +52,9 @@ } InputStream in = currentResolver.getInputStream(); resourceOpened.addElement(in); - InputSource source = new InputSource(in); - source.setSystemId(curUri); - source.setPublicId(lastestImportUri); + InputSource source = new InputSource(in); + source.setSystemId(curUri); + source.setPublicId(curUri); return source; } } catch (IOException e) { Modified: cxf/branches/2.0.x-fixes/common/common/src/main/java/org/apache/cxf/resource/URIResolver.java URL: http://svn.apache.org/viewvc/cxf/branches/2.0.x-fixes/common/common/src/main/java/org/apache/cxf/resource/URIResolver.java?rev=738546&r1=738545&r2=738546&view=diff ============================================================================== --- cxf/branches/2.0.x-fixes/common/common/src/main/java/org/apache/cxf/resource/URIResolver.java (original) +++ cxf/branches/2.0.x-fixes/common/common/src/main/java/org/apache/cxf/resource/URIResolver.java Wed Jan 28 17:12:36 2009 @@ -28,9 +28,14 @@ import java.net.URI; import java.net.URISyntaxException; import java.net.URL; +import java.net.URLConnection; +import java.util.HashMap; +import java.util.Map; import org.apache.cxf.common.classloader.ClassLoaderUtils; import org.apache.cxf.common.util.Base64Utility; +import org.apache.cxf.helpers.IOUtils; +import org.apache.cxf.helpers.LoadingByteArrayOutputStream; /** * Resolves a File, classpath resource, or URL according to the follow rules: @@ -43,6 +48,8 @@ * @author Dan Diephouse */ public class URIResolver { + private Map<String, LoadingByteArrayOutputStream> cache + = new HashMap<String, LoadingByteArrayOutputStream>(); private File file; private URI uri; private URL url; @@ -154,7 +161,7 @@ } base = base.resolve(relative); - if (base.isAbsolute()) { + if (base.isAbsolute() && "file".equalsIgnoreCase(base.getScheme())) { try { baseFile = new File(base); if (baseFile.exists()) { @@ -168,6 +175,9 @@ tryClasspath(base.toString().startsWith("file:") ? base.toString().substring(5) : base.toString()); } + } else { + tryClasspath(base.toString().startsWith("file:") + ? base.toString().substring(5) : base.toString()); } } } catch (URISyntaxException e) { @@ -275,9 +285,18 @@ private void tryRemote(String uriStr) throws IOException { try { + LoadingByteArrayOutputStream bout = cache.get(uriStr); url = new URL(uriStr); uri = new URI(url.toString()); - is = url.openStream(); + if (bout == null) { + URLConnection connection = url.openConnection(); + is = connection.getInputStream(); + bout = new LoadingByteArrayOutputStream(1024); + IOUtils.copy(is, bout); + is.close(); + cache.put(uriStr, bout); + } + is = bout.createInputStream(); } catch (MalformedURLException e) { // do nothing } catch (URISyntaxException e) { Modified: cxf/branches/2.0.x-fixes/rt/core/src/main/java/org/apache/cxf/catalog/CatalogWSDLLocator.java URL: http://svn.apache.org/viewvc/cxf/branches/2.0.x-fixes/rt/core/src/main/java/org/apache/cxf/catalog/CatalogWSDLLocator.java?rev=738546&r1=738545&r2=738546&view=diff ============================================================================== --- cxf/branches/2.0.x-fixes/rt/core/src/main/java/org/apache/cxf/catalog/CatalogWSDLLocator.java (original) +++ cxf/branches/2.0.x-fixes/rt/core/src/main/java/org/apache/cxf/catalog/CatalogWSDLLocator.java Wed Jan 28 17:12:36 2009 @@ -96,8 +96,6 @@ } public InputSource getImportInputSource(String parent, String importLocation) { - this.baseUri = parent; - String resolvedImportLocation = null; if (catalogResolver != null) { try { @@ -115,7 +113,7 @@ InputSource in = null; if (resolvedImportLocation == null) { - in = this.resolver.resolve(importLocation, this.baseUri); + in = this.resolver.resolve(importLocation, parent); } else { in = this.resolver.resolve(resolvedImportLocation, null); }
