You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by aj...@apache.org on 2016/12/20 13:53:42 UTC
[1/2] jena git commit: JENA-1268: better defaulting behavior for
HttpOp
Repository: jena
Updated Branches:
refs/heads/master 8a6fdaba8 -> 1e9d6887f
JENA-1268: better defaulting behavior for HttpOp
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/64fb6320
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/64fb6320
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/64fb6320
Branch: refs/heads/master
Commit: 64fb6320b4dc759967213d7eef0d83229020719f
Parents: 2cb1323
Author: ajs6f <aj...@virginia.edu>
Authored: Mon Dec 19 10:33:57 2016 -0500
Committer: ajs6f <aj...@virginia.edu>
Committed: Mon Dec 19 10:33:57 2016 -0500
----------------------------------------------------------------------
.../java/org/apache/jena/riot/web/HttpOp.java | 21 +++++++++++---------
.../org/apache/jena/fuseki/http/TestHttpOp.java | 9 +++++++++
2 files changed, 21 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/64fb6320/jena-arq/src/main/java/org/apache/jena/riot/web/HttpOp.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/web/HttpOp.java b/jena-arq/src/main/java/org/apache/jena/riot/web/HttpOp.java
index 65b6c86..6d7eebd 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/web/HttpOp.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/web/HttpOp.java
@@ -101,8 +101,13 @@ public class HttpOp {
/**
* Default HttpClient.
*/
- static private HttpClient defaultHttpClient = createDefaultHttpClient();
+ private static HttpClient defaultHttpClient = createDefaultHttpClient();
+ /**
+ * Used to reset {@link #defaultHttpClient} when needed
+ */
+ public static final HttpClient initialDefaultHttpClient = defaultHttpClient;
+
public static HttpClient createDefaultHttpClient() {
return createCachingHttpClient();
}
@@ -172,16 +177,14 @@ public class HttpOp {
}
/**
- * Performance can be improved by using a shared HttpClient that uses
- * connection pooling. However, pool management is complicated and can lead
- * to starvation (the system locks-up, especially on Java6; it's JVM
- * sensitive).
- * See the Apache Http Client documentation for more details.
+ * Performance can be improved by using a shared HttpClient that uses connection pooling. However, pool management
+ * is complicated and can lead to starvation (the system locks-up, especially on Java6; it's JVM sensitive). See the
+ * Apache HTTP Commons Client documentation for more details.
*
- * @param httpClient HTTP Client
+ * @param client HTTP client to use, if this is null, reset to original default instead
*/
- public static void setDefaultHttpClient(HttpClient httpClient) {
- defaultHttpClient = httpClient;
+ public static void setDefaultHttpClient(HttpClient client) {
+ defaultHttpClient = firstNonNull(client, initialDefaultHttpClient);
}
/**
http://git-wip-us.apache.org/repos/asf/jena/blob/64fb6320/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/http/TestHttpOp.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/http/TestHttpOp.java b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/http/TestHttpOp.java
index 2bb7206..937ce93 100644
--- a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/http/TestHttpOp.java
+++ b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/http/TestHttpOp.java
@@ -24,7 +24,9 @@ import static org.apache.jena.fuseki.ServerCtl.serviceGSP ;
import static org.apache.jena.fuseki.ServerCtl.serviceQuery ;
import static org.apache.jena.fuseki.ServerCtl.serviceUpdate ;
import static org.apache.jena.fuseki.ServerCtl.urlRoot ;
+import static org.apache.jena.riot.web.HttpOp.initialDefaultHttpClient;
+import org.apache.http.client.HttpClient;
import org.apache.jena.atlas.lib.IRILib ;
import org.apache.jena.atlas.web.TypedInputStream ;
import org.apache.jena.fuseki.AbstractFusekiTest ;
@@ -47,6 +49,13 @@ public class TestHttpOp extends AbstractFusekiTest {
static String simpleQuery = queryURL+"?query="+IRILib.encodeUriComponent("ASK{}") ;
+ @Test public void correctDefaultResetBehavior() {
+ HttpClient defaultClient = HttpOp.getDefaultHttpClient();
+ HttpOp.setDefaultHttpClient(null);
+ assertSame("Failed to reset to initial client!", initialDefaultHttpClient, HttpOp.getDefaultHttpClient());
+ HttpOp.setDefaultHttpClient(defaultClient);
+ }
+
// Basic operations
@Test public void httpGet_01() {
[2/2] jena git commit: JENA-1268: Improved behavior for
HttpOp.setDefaultHttpClient(HttpClient httpClient)
Posted by aj...@apache.org.
JENA-1268: Improved behavior for HttpOp.setDefaultHttpClient(HttpClient httpClient)
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/1e9d6887
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/1e9d6887
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/1e9d6887
Branch: refs/heads/master
Commit: 1e9d6887fa37f9f9b32a3d1f0b4eed1c89e115b7
Parents: 8a6fdab 64fb632
Author: ajs6f <aj...@virginia.edu>
Authored: Tue Dec 20 08:52:31 2016 -0500
Committer: ajs6f <aj...@virginia.edu>
Committed: Tue Dec 20 08:52:31 2016 -0500
----------------------------------------------------------------------
.../java/org/apache/jena/riot/web/HttpOp.java | 21 +++++++++++---------
.../org/apache/jena/fuseki/http/TestHttpOp.java | 9 +++++++++
2 files changed, 21 insertions(+), 9 deletions(-)
----------------------------------------------------------------------