This is an automated email from the ASF dual-hosted git repository.
jbonofre pushed a commit to branch activemq-5.15.x
in repository https://gitbox.apache.org/repos/asf/activemq.git
The following commit(s) were added to refs/heads/activemq-5.15.x by this push:
new 746a839 [AMQ-6556] Support system property proxy settings for HTTP(S)
client
new 47b4f9f Merge pull request #277 from amarkevich/activemq-5.15.x
746a839 is described below
commit 746a8398098fe4277008a62c5c82101a3c07cacd
Author: amarkevich <[email protected]>
AuthorDate: Mon Feb 26 11:51:15 2018 +0300
[AMQ-6556] Support system property proxy settings for HTTP(S) client
---
.../transport/http/HttpClientTransport.java | 6 ++++++
.../transport/http/HttpTransportSupport.java | 25 +++++++++++++++++-----
.../transport/https/HttpsClientTransport.java | 6 ++++++
3 files changed, 32 insertions(+), 5 deletions(-)
diff --git
a/activemq-http/src/main/java/org/apache/activemq/transport/http/HttpClientTransport.java
b/activemq-http/src/main/java/org/apache/activemq/transport/http/HttpClientTransport.java
index 2480daa..c4e8778 100644
---
a/activemq-http/src/main/java/org/apache/activemq/transport/http/HttpClientTransport.java
+++
b/activemq-http/src/main/java/org/apache/activemq/transport/http/HttpClientTransport.java
@@ -417,4 +417,10 @@ public class HttpClientTransport extends
HttpTransportSupport {
public WireFormat getWireFormat() {
return getTextWireFormat();
}
+
+ @Override
+ protected String getSystemPropertyPrefix() {
+ return "http.";
+ }
+
}
diff --git
a/activemq-http/src/main/java/org/apache/activemq/transport/http/HttpTransportSupport.java
b/activemq-http/src/main/java/org/apache/activemq/transport/http/HttpTransportSupport.java
index d01ce25..6f4012d 100644
---
a/activemq-http/src/main/java/org/apache/activemq/transport/http/HttpTransportSupport.java
+++
b/activemq-http/src/main/java/org/apache/activemq/transport/http/HttpTransportSupport.java
@@ -27,10 +27,16 @@ import org.apache.activemq.transport.util.TextWireFormat;
*
*/
public abstract class HttpTransportSupport extends TransportThreadSupport {
+ private static final int DEFAULT_PROXY_PORT = 8080;
+ private static final String PROPERTY_PROXY_HOST = "proxyHost";
+ private static final String PROPERTY_PROXY_PORT = "proxyPort";
+ private static final String PROPERTY_PROXY_USER = "proxyUser";
+ private static final String PROPERTY_PROXY_PASSWORD = "proxyPassword";
+
private TextWireFormat textWireFormat;
private URI remoteUrl;
private String proxyHost;
- private int proxyPort = 8080;
+ private Integer proxyPort;
private String proxyUser;
private String proxyPassword;
@@ -62,7 +68,7 @@ public abstract class HttpTransportSupport extends
TransportThreadSupport {
}
public String getProxyHost() {
- return proxyHost;
+ return proxyHost != null ? proxyHost :
getSystemProperty(PROPERTY_PROXY_HOST);
}
public void setProxyHost(String proxyHost) {
@@ -70,7 +76,9 @@ public abstract class HttpTransportSupport extends
TransportThreadSupport {
}
public int getProxyPort() {
- return proxyPort;
+ return proxyPort != null ? proxyPort
+ : (getSystemProperty(PROPERTY_PROXY_PORT) != null
+ ?
Integer.parseInt(getSystemProperty(PROPERTY_PROXY_PORT)) : DEFAULT_PROXY_PORT);
}
public void setProxyPort(int proxyPort) {
@@ -78,7 +86,7 @@ public abstract class HttpTransportSupport extends
TransportThreadSupport {
}
public String getProxyUser() {
- return proxyUser;
+ return proxyUser != null ? proxyUser :
getSystemProperty(PROPERTY_PROXY_USER);
}
public void setProxyUser(String proxyUser) {
@@ -86,10 +94,17 @@ public abstract class HttpTransportSupport extends
TransportThreadSupport {
}
public String getProxyPassword() {
- return proxyPassword;
+ return proxyPassword != null ? proxyPassword :
getSystemProperty(PROPERTY_PROXY_PASSWORD);
}
public void setProxyPassword(String proxyPassword) {
this.proxyPassword = proxyPassword;
}
+
+ protected abstract String getSystemPropertyPrefix();
+
+ private String getSystemProperty(String propertyName) {
+ return System.getProperty(getSystemPropertyPrefix() + propertyName);
+ }
+
}
diff --git
a/activemq-http/src/main/java/org/apache/activemq/transport/https/HttpsClientTransport.java
b/activemq-http/src/main/java/org/apache/activemq/transport/https/HttpsClientTransport.java
index 2e432fc..112a564 100644
---
a/activemq-http/src/main/java/org/apache/activemq/transport/https/HttpsClientTransport.java
+++
b/activemq-http/src/main/java/org/apache/activemq/transport/https/HttpsClientTransport.java
@@ -75,4 +75,10 @@ public class HttpsClientTransport extends
HttpClientTransport {
}
}
+
+ @Override
+ protected String getSystemPropertyPrefix() {
+ return "https.";
+ }
+
}