You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by se...@apache.org on 2009/03/20 02:52:14 UTC
svn commit: r756296 - in
/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl:
client/ conn/
Author: sebb
Date: Fri Mar 20 01:52:13 2009
New Revision: 756296
URL: http://svn.apache.org/viewvc?rev=756296&view=rev
Log:
More ThreadSafe and Immutable classes
Modified:
httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/client/AbstractHttpClient.java
httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/client/DefaultHttpClient.java
httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/DefaultHttpRoutePlanner.java
httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/DefaultResponseParser.java
httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/LoggingSessionInputBuffer.java
httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/LoggingSessionOutputBuffer.java
httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/ProxySelectorRoutePlanner.java
Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/client/AbstractHttpClient.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/client/AbstractHttpClient.java?rev=756296&r1=756295&r2=756296&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/client/AbstractHttpClient.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/client/AbstractHttpClient.java Fri Mar 20 01:52:13 2009
@@ -35,6 +35,8 @@
import java.net.URI;
import java.lang.reflect.UndeclaredThrowableException;
+import net.jcip.annotations.ThreadSafe;
+
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.http.ConnectionReuseStrategy;
@@ -77,6 +79,7 @@
*
* @since 4.0
*/
+@ThreadSafe
public abstract class AbstractHttpClient implements HttpClient {
private final Log log = LogFactory.getLog(getClass());
Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/client/DefaultHttpClient.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/client/DefaultHttpClient.java?rev=756296&r1=756295&r2=756296&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/client/DefaultHttpClient.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/client/DefaultHttpClient.java Fri Mar 20 01:52:13 2009
@@ -31,6 +31,8 @@
package org.apache.http.impl.client;
+import net.jcip.annotations.ThreadSafe;
+
import org.apache.http.ConnectionReuseStrategy;
import org.apache.http.HttpVersion;
import org.apache.http.auth.AuthSchemeRegistry;
@@ -96,6 +98,7 @@
*
* @since 4.0
*/
+@ThreadSafe
public class DefaultHttpClient extends AbstractHttpClient {
Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/DefaultHttpRoutePlanner.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/DefaultHttpRoutePlanner.java?rev=756296&r1=756295&r2=756296&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/DefaultHttpRoutePlanner.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/DefaultHttpRoutePlanner.java Fri Mar 20 01:52:13 2009
@@ -34,6 +34,8 @@
import java.net.InetAddress;
+import net.jcip.annotations.ThreadSafe;
+
import org.apache.http.HttpException;
import org.apache.http.HttpHost;
import org.apache.http.HttpRequest;
@@ -56,10 +58,11 @@
*
* @since 4.0
*/
+@ThreadSafe
public class DefaultHttpRoutePlanner implements HttpRoutePlanner {
/** The scheme registry. */
- protected SchemeRegistry schemeRegistry;
+ protected final SchemeRegistry schemeRegistry; // class is @ThreadSafe
/**
Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/DefaultResponseParser.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/DefaultResponseParser.java?rev=756296&r1=756295&r2=756296&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/DefaultResponseParser.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/DefaultResponseParser.java Fri Mar 20 01:52:13 2009
@@ -33,6 +33,8 @@
import java.io.IOException;
+import net.jcip.annotations.ThreadSafe;
+
import org.apache.http.HttpException;
import org.apache.http.HttpMessage;
import org.apache.http.HttpResponseFactory;
@@ -51,6 +53,7 @@
*
* @since 4.0
*/
+@ThreadSafe // no public methods
public class DefaultResponseParser extends AbstractMessageParser {
private final HttpResponseFactory responseFactory;
Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/LoggingSessionInputBuffer.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/LoggingSessionInputBuffer.java?rev=756296&r1=756295&r2=756296&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/LoggingSessionInputBuffer.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/LoggingSessionInputBuffer.java Fri Mar 20 01:52:13 2009
@@ -32,6 +32,8 @@
import java.io.IOException;
+import net.jcip.annotations.Immutable;
+
import org.apache.http.io.HttpTransportMetrics;
import org.apache.http.io.SessionInputBuffer;
import org.apache.http.util.CharArrayBuffer;
@@ -42,6 +44,7 @@
*
* @since 4.0
*/
+@Immutable
public class LoggingSessionInputBuffer implements SessionInputBuffer {
/** Original session input buffer. */
Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/LoggingSessionOutputBuffer.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/LoggingSessionOutputBuffer.java?rev=756296&r1=756295&r2=756296&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/LoggingSessionOutputBuffer.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/LoggingSessionOutputBuffer.java Fri Mar 20 01:52:13 2009
@@ -32,6 +32,8 @@
import java.io.IOException;
+import net.jcip.annotations.Immutable;
+
import org.apache.http.io.HttpTransportMetrics;
import org.apache.http.io.SessionOutputBuffer;
import org.apache.http.util.CharArrayBuffer;
@@ -42,6 +44,7 @@
*
* @since 4.0
*/
+@Immutable
public class LoggingSessionOutputBuffer implements SessionOutputBuffer {
/** Original data transmitter. */
Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/ProxySelectorRoutePlanner.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/ProxySelectorRoutePlanner.java?rev=756296&r1=756295&r2=756296&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/ProxySelectorRoutePlanner.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/ProxySelectorRoutePlanner.java Fri Mar 20 01:52:13 2009
@@ -40,6 +40,9 @@
import java.net.URISyntaxException;
import java.util.List;
+import net.jcip.annotations.NotThreadSafe;
+import net.jcip.annotations.ThreadSafe;
+
import org.apache.http.HttpException;
import org.apache.http.HttpHost;
import org.apache.http.HttpRequest;
@@ -65,10 +68,11 @@
*
* @since 4.0
*/
+@NotThreadSafe // e.g [gs]etProxySelector()
public class ProxySelectorRoutePlanner implements HttpRoutePlanner {
/** The scheme registry. */
- protected SchemeRegistry schemeRegistry;
+ protected final SchemeRegistry schemeRegistry; // @ThreadSafe
/** The proxy selector to use, or <code>null</code> for system default. */
protected ProxySelector proxySelector;