modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/ASConnection.java
| 25 ++++++++--
modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/ASUploadConnection.java
| 2
modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/json/Result.java
| 6 +-
3 files changed, 27 insertions(+), 6 deletions(-)
New commits:
commit fda3d0ac47f1eb68f6ef9d2d4f60df21262a1500
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Mon Jan 30 22:27:51 2012 +0100
Set timeouts for connecting and reading of data.
diff --git
a/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/ASConnection.java
b/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/ASConnection.java
index 9651be2..6205576 100644
---
a/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/ASConnection.java
+++
b/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/ASConnection.java
@@ -26,6 +26,7 @@ import java.io.OutputStream;
import java.net.Authenticator;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
+import java.net.SocketTimeoutException;
import java.net.URL;
import org.apache.commons.logging.Log;
@@ -108,12 +109,17 @@ public class ASConnection {
conn.setRequestMethod("POST");
conn.addRequestProperty("Content-Type",
"application/json");
conn.addRequestProperty("Accept","application/json");
+ conn.setConnectTimeout(10 * 1000); // 10s
+ conn.setReadTimeout(10 * 1000); // 10s
+
+ if (conn.getReadTimeout()!=10*1000)
+ log.warn("JRE uses a broken timeout mechanism - nothing we can
do");
OutputStream out = conn.getOutputStream();
- String result = mapper.writeValueAsString(operation);
+ String json_to_send = mapper.writeValueAsString(operation);
if (verbose) {
- log.info("Json to send: " + result);
+ log.info("Json to send: " + json_to_send);
}
mapper.writeValue(out, operation);
@@ -158,6 +164,19 @@ public class ASConnection {
} else {
log.error("IS was null and code was " + responseCode);
}
+ } catch (IllegalArgumentException iae) {
+ log.error("Illegal argument " + iae);
+ log.error(" for input " + operation);
+ } catch (SocketTimeoutException ste) {
+ log.error("Request to AS timed out " + ste.getMessage());
+ conn.disconnect();
+ Result failure = new Result();
+ failure.setFailureDescription(ste.getMessage());
+ failure.setOutcome("failure");
+// failure.setThrowable(ste); TODO
+
+ JsonNode ret = mapper.valueToTree(failure);
+ return ret;
} catch (IOException e) {
log.error("Failed to get data: " + e.getMessage());
@@ -182,7 +201,7 @@ public class ASConnection {
Result failure = new Result();
failure.setFailureDescription(e.getMessage());
failure.setOutcome("failure");
- failure.setThrowable(e);
+// failure.setThrowable(e); TODO
JsonNode ret = mapper.valueToTree(failure);
return ret;
diff --git
a/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/ASUploadConnection.java
b/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/ASUploadConnection.java
index ff5aa94..90316a4 100644
---
a/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/ASUploadConnection.java
+++
b/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/ASUploadConnection.java
@@ -82,6 +82,8 @@ public class ASUploadConnection {
// Create the HTTP connection to the upload URL
String url = "http://" + host + ":" + port +
UPLOAD_URL_PATH;
connection = (HttpURLConnection) new URL(url).openConnection();
+ connection.setConnectTimeout(10 * 1000); // 10s
+ connection.setReadTimeout(60 * 1000); // 60s
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setRequestMethod(POST_REQUEST_METHOD);
diff --git
a/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/json/Result.java
b/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/json/Result.java
index 42ffee7..8f6cfa0 100644
---
a/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/json/Result.java
+++
b/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/json/Result.java
@@ -43,7 +43,7 @@ public class Result {
/** Record throwsables during low level processing */
@JsonIgnore
- private Throwable throwable;
+ private Map<String,Object> throwable;
public Object getResponseHeaders() {
return responseHeaders;
@@ -98,11 +98,11 @@ public class Result {
this.rolledBack = rolledBack;
}
- public Throwable getThrowable() {
+ public Map<String, Object> getThrowable() {
return throwable;
}
- public void setThrowable(Throwable throwable) {
+ public void setThrowable(Map<String,Object> throwable) {
this.throwable = throwable;
}
Show replies by date