[jbossws-commits] JBossWS SVN: r9622 - in stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1790: src/main/java/org/jboss/ws/core/jaxws/handler and 6 other directories.
jbossws-commits at lists.jboss.org
jbossws-commits at lists.jboss.org
Wed Mar 18 13:21:31 EDT 2009
Author: darran.lofthouse at jboss.com
Date: 2009-03-18 13:21:31 -0400 (Wed, 18 Mar 2009)
New Revision: 9622
Modified:
stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1790/src/main/java/org/jboss/ws/core/jaxws/handler/MessageContextJAXWS.java
stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1790/src/main/java/org/jboss/ws/extensions/security/SecurityStore.java
stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1790/src/main/java/org/jboss/ws/metadata/config/JBossWSConfigFactory.java
stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1790/src/main/java/org/jboss/ws/metadata/wsdl/xmlschema/JBossXSEntityResolver.java
stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1790/src/main/java/org/jboss/ws/tools/JavaToXSD.java
stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1790/src/main/java/org/jboss/ws/tools/wsdl/WSDL11Writer.java
stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1790/src/main/java/org/jboss/wsf/stack/jbws/RequestHandlerImpl.java
stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1790/src/main/java/org/jboss/wsf/stack/jbws/WSDLFilePublisher.java
stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1790/version.properties
Log:
[JBPAPP-1790] Each request results to an open file descriptor.
Modified: stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1790/src/main/java/org/jboss/ws/core/jaxws/handler/MessageContextJAXWS.java
===================================================================
--- stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1790/src/main/java/org/jboss/ws/core/jaxws/handler/MessageContextJAXWS.java 2009-03-18 17:05:45 UTC (rev 9621)
+++ stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1790/src/main/java/org/jboss/ws/core/jaxws/handler/MessageContextJAXWS.java 2009-03-18 17:21:31 UTC (rev 9622)
@@ -21,8 +21,8 @@
*/
package org.jboss.ws.core.jaxws.handler;
-// $Id: MessageContextImpl.java 275 2006-05-04 21:36:29Z jason.greene at jboss.com $
-
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.net.URL;
@@ -37,6 +37,7 @@
import org.jboss.ws.metadata.umdm.EndpointMetaData;
import org.jboss.ws.metadata.umdm.OperationMetaData;
import org.jboss.ws.metadata.umdm.ServiceMetaData;
+import org.jboss.wsf.common.IOUtils;
import org.jboss.xb.binding.NamespaceRegistry;
import org.xml.sax.InputSource;
@@ -135,7 +136,9 @@
{
try
{
- InputSource inputSource = new InputSource(wsdlURL.openStream());
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ IOUtils.copyStream(baos, wsdlURL.openStream()); // [JBWS-2325] ensure file descriptors are closed
+ InputSource inputSource = new InputSource(new ByteArrayInputStream(baos.toByteArray()));
put(MessageContext.WSDL_DESCRIPTION, inputSource);
}
catch (IOException ex)
Modified: stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1790/src/main/java/org/jboss/ws/extensions/security/SecurityStore.java
===================================================================
--- stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1790/src/main/java/org/jboss/ws/extensions/security/SecurityStore.java 2009-03-18 17:05:45 UTC (rev 9621)
+++ stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1790/src/main/java/org/jboss/ws/extensions/security/SecurityStore.java 2009-03-18 17:21:31 UTC (rev 9622)
@@ -25,6 +25,7 @@
import java.io.BufferedReader;
import java.io.File;
+import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.lang.reflect.Constructor;
@@ -136,11 +137,12 @@
if (storeType == null)
storeType = "jks";
- KeyStore keyStore = null;
+ KeyStore keyStore = null;
+ InputStream stream = null;
try
{
log.debug("loadStore: " + storeURL);
- InputStream stream = storeURL.openStream();
+ stream = storeURL.openStream();
if (stream == null)
throw new WSSecurityException("Cannot load store from: " + storeURL);
@@ -166,6 +168,20 @@
{
throw new WSSecurityException("Problems loading " + type + ": " + ex.getMessage(), ex);
}
+ finally
+ {
+ if (stream != null)
+ {
+ try
+ {
+ stream.close();
+ }
+ catch (IOException ioe)
+ {
+ log.warn(ioe.getMessage(), ioe);
+ }
+ }
+ }
return keyStore;
}
Modified: stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1790/src/main/java/org/jboss/ws/metadata/config/JBossWSConfigFactory.java
===================================================================
--- stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1790/src/main/java/org/jboss/ws/metadata/config/JBossWSConfigFactory.java 2009-03-18 17:05:45 UTC (rev 9621)
+++ stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1790/src/main/java/org/jboss/ws/metadata/config/JBossWSConfigFactory.java 2009-03-18 17:21:31 UTC (rev 9622)
@@ -24,6 +24,7 @@
//$Id$
import java.io.IOException;
+import java.io.InputStream;
import java.net.URL;
import org.jboss.logging.Logger;
@@ -71,6 +72,7 @@
if(log.isDebugEnabled()) log.debug("parse: " + configURL);
Object wsConfig;
+ InputStream is = null;
try
{
Unmarshaller unmarshaller = UnmarshallerFactory.newInstance().newUnmarshaller();
@@ -78,13 +80,14 @@
unmarshaller.setSchemaValidation(true);
String nsURI = getNamespaceURI(configURL);
+ is = configURL.openStream();
if (URN_JAXRPC_CONFIG.equals(nsURI))
{
- wsConfig = unmarshaller.unmarshal(configURL.openStream(), new OMFactoryJAXRPC(), null);
+ wsConfig = unmarshaller.unmarshal(is, new OMFactoryJAXRPC(), null);
}
else if (URN_JAXWS_CONFIG.equals(nsURI))
{
- wsConfig = unmarshaller.unmarshal(configURL.openStream(), new OMFactoryJAXWS(), null);
+ wsConfig = unmarshaller.unmarshal(is, new OMFactoryJAXWS(), null);
}
else
{
@@ -100,6 +103,20 @@
{
throw new WSException("Failed to read config file: " + configURL, e);
}
+ finally
+ {
+ if (is != null)
+ {
+ try
+ {
+ is.close();
+ }
+ catch (IOException ioe)
+ {
+ if(log.isDebugEnabled()) log.warn(ioe.getMessage(), ioe);
+ }
+ }
+ }
return wsConfig;
}
Modified: stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1790/src/main/java/org/jboss/ws/metadata/wsdl/xmlschema/JBossXSEntityResolver.java
===================================================================
--- stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1790/src/main/java/org/jboss/ws/metadata/wsdl/xmlschema/JBossXSEntityResolver.java 2009-03-18 17:05:45 UTC (rev 9621)
+++ stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1790/src/main/java/org/jboss/ws/metadata/wsdl/xmlschema/JBossXSEntityResolver.java 2009-03-18 17:21:31 UTC (rev 9622)
@@ -21,8 +21,9 @@
*/
package org.jboss.ws.metadata.wsdl.xmlschema;
-// $Id$
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
@@ -36,6 +37,7 @@
import org.jboss.logging.Logger;
import org.jboss.ws.Constants;
import org.jboss.ws.core.utils.ResourceURL;
+import org.jboss.wsf.common.IOUtils;
import org.xml.sax.EntityResolver;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
@@ -157,15 +159,19 @@
private XMLInputSource getXMLInputSource(URL url, XMLResourceIdentifier resId) throws IOException
{
- InputStream inputStream = new ResourceURL(url).openStream();
- InputSource inputSource = new InputSource(inputStream);
+ InputStream urlStream = new ResourceURL(url).openStream();
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ IOUtils.copyStream(baos, urlStream); // [JBWS-2325]
+ InputSource inputSource = new InputSource(new ByteArrayInputStream(baos.toByteArray()));
return getXMLInputSource(inputSource, resId);
}
- private XMLInputSource getXMLInputSource(InputSource inputSource, XMLResourceIdentifier resId)
+ private XMLInputSource getXMLInputSource(InputSource inputSource, XMLResourceIdentifier resId) throws IOException
{
String encoding = inputSource.getEncoding();
- InputStream byteStream = inputSource.getByteStream();
- return new XMLInputSource(resId.getPublicId(), resId.getExpandedSystemId(), resId.getBaseSystemId(), byteStream, encoding);
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ IOUtils.copyStream(baos, inputSource.getByteStream()); // [JBWS-2325]
+ InputStream is = new ByteArrayInputStream(baos.toByteArray());
+ return new XMLInputSource(resId.getPublicId(), resId.getExpandedSystemId(), resId.getBaseSystemId(), is, encoding);
}
}
\ No newline at end of file
Modified: stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1790/src/main/java/org/jboss/ws/tools/JavaToXSD.java
===================================================================
--- stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1790/src/main/java/org/jboss/ws/tools/JavaToXSD.java 2009-03-18 17:05:45 UTC (rev 9621)
+++ stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1790/src/main/java/org/jboss/ws/tools/JavaToXSD.java 2009-03-18 17:21:31 UTC (rev 9622)
@@ -165,6 +165,7 @@
Iterator<String> it = locs.keySet().iterator();
while (it.hasNext())
{
+ InputStream in = null;
try
{
String nsURI = it.next();
@@ -176,7 +177,7 @@
XMLInputSource inputSource = new XMLInputSource(null, url.toExternalForm(), null);
InputSource tmpSrc = resolver.resolveEntity(null, url.toExternalForm());
- InputStream in = tmpSrc.getByteStream() != null ? tmpSrc.getByteStream() : new ResourceURL(url).openStream();
+ in = tmpSrc.getByteStream() != null ? tmpSrc.getByteStream() : new ResourceURL(url).openStream();
inputSource.setByteStream(in);
SchemaGrammar grammar = (SchemaGrammar)loader.loadGrammar(inputSource);
@@ -193,6 +194,20 @@
{
throw new IllegalStateException("Cannot parse schema", ex);
}
+ finally
+ {
+ if (in != null)
+ {
+ try
+ {
+ in.close();
+ }
+ catch (IOException ioe)
+ {
+ log.warn(ioe.getMessage(), ioe);
+ }
+ }
+ }
}
XSModel xsmodel = new XSModelImpl(gs);
@@ -242,46 +257,4 @@
helper.setWsdlStyle(style);
}
- //******************************************************************
- // PRIVATE METHODS
- //******************************************************************
-
- /**
- * FIXME: JBXB-33
- */
- private SchemaBindingResolver getSchemaBindingResolver(final Map<String, URL> map)
- {
- return new SchemaBindingResolver()
- {
- public String getBaseURI()
- {
- throw new UnsupportedOperationException("getBaseURI is not implemented.");
- }
-
- public void setBaseURI(String baseURI)
- {
- throw new UnsupportedOperationException("setBaseURI is not implemented.");
- }
-
- public SchemaBinding resolve(String nsUri, String baseURI, String schemaLocation)
- {
- throw new UnsupportedOperationException("resolve is not implemented.");
- }
-
- public LSInput resolveAsLSInput(String nsUri, String baseUri, String schemaLocation)
- {
- URL url = map.get(nsUri);
- if (url != null)
- try
- {
- return new LSInputAdaptor(url.openStream(), null);
- }
- catch (IOException e)
- {
- log.error("URL is bad for schema parsing");
- }
- return null;
- }
- };
- }
}
Modified: stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1790/src/main/java/org/jboss/ws/tools/wsdl/WSDL11Writer.java
===================================================================
--- stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1790/src/main/java/org/jboss/ws/tools/wsdl/WSDL11Writer.java 2009-03-18 17:05:45 UTC (rev 9621)
+++ stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1790/src/main/java/org/jboss/ws/tools/wsdl/WSDL11Writer.java 2009-03-18 17:21:31 UTC (rev 9622)
@@ -137,8 +137,14 @@
appendDefinitions(builder, namespace);
appendBody(builder, namespace);
- writeBuilder(builder, resolved.writer, resolved.charset);
- resolved.writer.close();
+ try
+ {
+ writeBuilder(builder, resolved.writer, resolved.charset);
+ }
+ finally
+ {
+ resolved.writer.close();
+ }
}
}
Modified: stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1790/src/main/java/org/jboss/wsf/stack/jbws/RequestHandlerImpl.java
===================================================================
--- stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1790/src/main/java/org/jboss/wsf/stack/jbws/RequestHandlerImpl.java 2009-03-18 17:05:45 UTC (rev 9621)
+++ stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1790/src/main/java/org/jboss/wsf/stack/jbws/RequestHandlerImpl.java 2009-03-18 17:21:31 UTC (rev 9622)
@@ -186,7 +186,7 @@
ClassLoader classLoader = endpoint.getService().getDeployment().getRuntimeClassLoader();
if (classLoader == null)
throw new IllegalStateException("Deployment has no classloader associated");
-
+
// Set the thread context class loader
ClassLoader ctxClassLoader = Thread.currentThread().getContextClassLoader();
Thread.currentThread().setContextClassLoader(classLoader);
@@ -203,7 +203,7 @@
{
// Reset the thread context class loader
Thread.currentThread().setContextClassLoader(ctxClassLoader);
-
+
try
{
out.close();
@@ -231,7 +231,7 @@
throw new IllegalStateException("Cannot obtain endpoint meta data");
Type type = sepMetaData.getType();
-
+
// Build the message context
CommonMessageContext msgContext;
if (type == EndpointMetaData.Type.JAXRPC)
@@ -253,12 +253,12 @@
if (invContext instanceof ServletRequestContext)
{
ServletRequestContext reqContext = (ServletRequestContext)invContext;
-
+
ServletContext servletContext = reqContext.getServletContext();
HttpServletRequest httpRequest = reqContext.getHttpServletRequest();
httpResponse = reqContext.getHttpServletResponse();
headerSource = new ServletHeaderSource(httpRequest, httpResponse);
-
+
if (type == EndpointMetaData.Type.JAXRPC)
{
msgContext.put(MessageContextJAXRPC.SERVLET_CONTEXT, servletContext);
@@ -361,8 +361,7 @@
/**
* Handle a request to this web service endpoint
*/
- private MessageAbstraction processRequest(Endpoint ep, MimeHeaderSource headerSource, InvocationContext reqContext, InputStream inputStream)
- throws BindingException
+ private MessageAbstraction processRequest(Endpoint ep, MimeHeaderSource headerSource, InvocationContext reqContext, InputStream inputStream) throws BindingException
{
CommonMessageContext msgContext = MessageContextAssociation.peekMessageContext();
@@ -480,11 +479,11 @@
private long initRequestMetrics(Endpoint endpoint)
{
long beginTime = 0;
-
+
EndpointMetrics metrics = endpoint.getEndpointMetrics();
if (metrics != null)
beginTime = metrics.processRequestMessage();
-
+
return beginTime;
}
@@ -548,7 +547,7 @@
if (ServerConfig.UNDEFINED_HOSTNAME.equals(serverConfig.getWebServiceHost()) == false)
wsdlHost = serverConfig.getWebServiceHost();
-
+
log.debug("WSDL request, using host: " + wsdlHost);
WSDLRequestHandler wsdlRequestHandler = new WSDLRequestHandler(epMetaData);
Modified: stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1790/src/main/java/org/jboss/wsf/stack/jbws/WSDLFilePublisher.java
===================================================================
--- stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1790/src/main/java/org/jboss/wsf/stack/jbws/WSDLFilePublisher.java 2009-03-18 17:05:45 UTC (rev 9621)
+++ stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1790/src/main/java/org/jboss/wsf/stack/jbws/WSDLFilePublisher.java 2009-03-18 17:21:31 UTC (rev 9622)
@@ -105,9 +105,10 @@
wsdlFile.getParentFile().mkdirs();
// Get the wsdl definition and write it to the wsdl publish location
+ Writer fWriter = null;
try
{
- Writer fWriter = IOUtils.getCharsetFileWriter(wsdlFile, Constants.DEFAULT_XML_CHARSET);
+ fWriter = IOUtils.getCharsetFileWriter(wsdlFile, Constants.DEFAULT_XML_CHARSET);
WSDLDefinitions wsdlDefinitions = serviceMetaData.getWsdlDefinitions();
new WSDLWriter(wsdlDefinitions).write(fWriter, Constants.DEFAULT_XML_CHARSET);
@@ -141,6 +142,13 @@
{
throw new WSException("Cannot publish wsdl to: " + wsdlFile, e);
}
+ finally
+ {
+ if (fWriter != null)
+ {
+ fWriter.close();
+ }
+ }
}
}
@@ -245,15 +253,21 @@
if (is == null)
throw new IllegalArgumentException("Cannot find schema import in deployment: " + resourcePath);
- FileOutputStream fos = new FileOutputStream(targetFile);
- IOUtils.copyStream(fos, is);
- fos.close();
- is.close();
+ FileOutputStream fos = null;
+ try
+ {
+ fos = new FileOutputStream(targetFile);
+ IOUtils.copyStream(fos, is);
+ }
+ finally
+ {
+ if (fos != null) fos.close();
+ }
if (log.isDebugEnabled())
log.debug("XMLSchema import published to: " + xsdURL);
- // recursivly publish imports
+ // recursively publish imports
Element subdoc = DOMUtils.parse(xsdURL.openStream());
publishSchemaImports(xsdURL, subdoc, published);
}
Modified: stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1790/version.properties
===================================================================
--- stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1790/version.properties 2009-03-18 17:05:45 UTC (rev 9621)
+++ stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1790/version.properties 2009-03-18 17:21:31 UTC (rev 9622)
@@ -5,8 +5,8 @@
specification.vendor=JBoss (http://www.jboss.org)
specification.version=jbossws-2.0
-version.id=2.0.1.SP2_CP05
-repository.id=2.0.1.SP2_CP05
+version.id=2.0.1.SP2_CP05_JBPAPP-1790
+repository.id=2.0.1.SP2_CP05_JBPAPP-1790
implementation.title=JBoss Web Services - Native
implementation.url=http://www.jboss.org/products/jbossws
@@ -25,7 +25,7 @@
# Dependend integration projects
jbossws-spi=1.0.0.GA_CP01-brew
-jbossws-common=1.0.0.GA_CP03-brew
+jbossws-common=1.0.0.GA_CP03_JBPAPP-1790
jbossws-framework=2.0.1.GA_CP03-brew
jbossws-jboss40=2.0.1.GA
jbossws-jboss42=2.0.1.GA_CP01
More information about the jbossws-commits
mailing list