[jboss-remoting-commits] JBoss Remoting SVN: r4628 - remoting2/branches/2.x/src/main/org/jboss/remoting/transport/http.
jboss-remoting-commits at lists.jboss.org
jboss-remoting-commits at lists.jboss.org
Mon Oct 27 22:00:56 EDT 2008
Author: ron.sigal at jboss.com
Date: 2008-10-27 22:00:55 -0400 (Mon, 27 Oct 2008)
New Revision: 4628
Modified:
remoting2/branches/2.x/src/main/org/jboss/remoting/transport/http/HTTPClientInvoker.java
Log:
JBREM-1046: Restored default behavior for InputStream == null and added optional behavior when new variable unmarshalNullStream == false.
Modified: remoting2/branches/2.x/src/main/org/jboss/remoting/transport/http/HTTPClientInvoker.java
===================================================================
--- remoting2/branches/2.x/src/main/org/jboss/remoting/transport/http/HTTPClientInvoker.java 2008-10-25 06:40:19 UTC (rev 4627)
+++ remoting2/branches/2.x/src/main/org/jboss/remoting/transport/http/HTTPClientInvoker.java 2008-10-28 02:00:55 UTC (rev 4628)
@@ -101,10 +101,17 @@
*/
public static final String NUMBER_OF_CALL_ATTEMPTS = "numberOfCallAttempts";
+ /*
+ * Specifies whether useHttpURLConnection(), upon receiving a null InputStream or ErrorStream,
+ * should call the UnMarshaller.
+ */
+ public static final String UNMARSHAL_NULL_STREAM = "unmarshalNullStream";
+
protected static final Logger log = Logger.getLogger(HTTPClientInvoker.class);
protected boolean noThrowOnError;
protected int numberOfCallAttempts = 1;
+ protected boolean unmarshalNullStream = true;
private Object timeoutThreadPoolLock = new Object();
private ThreadPool timeoutThreadPool;
@@ -354,7 +361,7 @@
metadata.put(HTTPMetadataConstants.RESPONSE_HEADERS, headers);
InputStream is = (responseCode < 400) ? conn.getInputStream() : conn.getErrorStream();
- if (is != null)
+ if (is != null || unmarshalNullStream)
{
result = readResponse(metadata, headers, unmarshaller, is);
}
@@ -370,7 +377,7 @@
InputStream is = (SecurityUtility.getResponseCode(conn) < 400) ? conn.getInputStream() : conn.getErrorStream();
Map headers = conn.getHeaderFields();
- if (is != null)
+ if (is != null || unmarshalNullStream)
{
result = readResponse(null, headers, unmarshaller, is);
}
@@ -1007,6 +1014,22 @@
val + " to an int value.");
}
}
+
+ val = configuration.get(UNMARSHAL_NULL_STREAM);
+ if (val != null)
+ {
+ try
+ {
+ unmarshalNullStream = Boolean.valueOf((String)val).booleanValue();
+ log.debug(this + " setting unmarshalNullStream to " + unmarshalNullStream);
+ }
+ catch (Exception e)
+ {
+ log.warn(this + " could not convert " +
+ UNMARSHAL_NULL_STREAM + " value of " +
+ val + " to a boolean value.");
+ }
+ }
}
/**
More information about the jboss-remoting-commits
mailing list