[
https://issues.apache.org/jira/browse/JCLOUDS-1075?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrew Phillips updated JCLOUDS-1075:
-------------------------------------
Description:
>From the description of https://github.com/jclouds/jclouds/pull/914:
In the absence of any special jclouds.\*proxy\* settings, jclouds should
respect the normal JVM conventions for proxy detection, such as the
java.net.httpProxyHost property. For it to default to no proxy, unlike
everything else in java, is surprising. Previously jclouds only looked for the
JVM proxy if jclouds.use-system-proxies was set, and then in a cumbersome way:
* jclouds.use-system-proxies tried to set java.net.useSystemProxy but that is
read once at startup and subsequently ignored by the JVM so it had little effect
* so the effect of jclouds.use-system-proxies was effectively to tell jclouds
to use the default proxy chosen by the JVM looking at the java.net.*
properties, not necessarily the OS proxy referred to by java.net.useSystemProxy
* the default value of jclouds.use-system-proxies was taken from
java.net.useSystemProxy and so while that succeeds in causing
java.net.useSystemProxy to take effect, it was succeeding in a strange
accidental way: the only way for the normal java.net.httpProxyHost and others
to take effect was to set jclouds.use-system-proxies=true but make sure
java.net.useSystemProxy=false
This adds explicit control over whether the JVM default proxy is usable (true
by default), and switches the precedence so that if a user specifies a
jclouds.proxy-host then it is used -- irrespective of whether any other system
proxies or jvm proxies are specified.
I think this is more what a user would expect if they do need to set special
proxy settings for jclouds to use. More importantly in most cases they can now
just set JVM proxy settings and the right thing will happen.
was:
>From the description of https://github.com/jclouds/jclouds/pull/914:
In the absence of any special jclouds.*proxy* settings, jclouds should respect
the normal JVM conventions for proxy detection, such as the
java.net.httpProxyHost property. For it to default to no proxy, unlike
everything else in java, is surprising. Previously jclouds only looked for the
JVM proxy if jclouds.use-system-proxies was set, and then in a cumbersome way:
* jclouds.use-system-proxies tried to set java.net.useSystemProxy but that is
read once at startup and subsequently ignored by the JVM so it had little effect
* so the effect of jclouds.use-system-proxies was effectively to tell jclouds
to use the default proxy chosen by the JVM looking at the java.net.*
properties, not necessarily the OS proxy referred to by java.net.useSystemProxy
* the default value of jclouds.use-system-proxies was taken from
java.net.useSystemProxy and so while that succeeds in causing
java.net.useSystemProxy to take effect, it was succeeding in a strange
accidental way: the only way for the normal java.net.httpProxyHost and others
to take effect was to set jclouds.use-system-proxies=true but make sure
java.net.useSystemProxy=false
This adds explicit control over whether the JVM default proxy is usable (true
by default), and switches the precedence so that if a user specifies a
jclouds.proxy-host then it is used -- irrespective of whether any other system
proxies or jvm proxies are specified.
I think this is more what a user would expect if they do need to set special
proxy settings for jclouds to use. More importantly in most cases they can now
just set JVM proxy settings and the right thing will happen.
> Make proxy configuration logic and settings clearer and more in line with
> Java conventions
> ------------------------------------------------------------------------------------------
>
> Key: JCLOUDS-1075
> URL: https://issues.apache.org/jira/browse/JCLOUDS-1075
> Project: jclouds
> Issue Type: Improvement
> Components: jclouds-core
> Affects Versions: 1.9.2
> Reporter: Andrew Phillips
> Assignee: Andrew Phillips
> Fix For: 2.0.0
>
> Attachments: JCLOUDS-1075.patch
>
>
> From the description of https://github.com/jclouds/jclouds/pull/914:
> In the absence of any special jclouds.\*proxy\* settings, jclouds should
> respect the normal JVM conventions for proxy detection, such as the
> java.net.httpProxyHost property. For it to default to no proxy, unlike
> everything else in java, is surprising. Previously jclouds only looked for
> the JVM proxy if jclouds.use-system-proxies was set, and then in a cumbersome
> way:
> * jclouds.use-system-proxies tried to set java.net.useSystemProxy but that is
> read once at startup and subsequently ignored by the JVM so it had little
> effect
> * so the effect of jclouds.use-system-proxies was effectively to tell jclouds
> to use the default proxy chosen by the JVM looking at the java.net.*
> properties, not necessarily the OS proxy referred to by
> java.net.useSystemProxy
> * the default value of jclouds.use-system-proxies was taken from
> java.net.useSystemProxy and so while that succeeds in causing
> java.net.useSystemProxy to take effect, it was succeeding in a strange
> accidental way: the only way for the normal java.net.httpProxyHost and others
> to take effect was to set jclouds.use-system-proxies=true but make sure
> java.net.useSystemProxy=false
> This adds explicit control over whether the JVM default proxy is usable (true
> by default), and switches the precedence so that if a user specifies a
> jclouds.proxy-host then it is used -- irrespective of whether any other
> system proxies or jvm proxies are specified.
> I think this is more what a user would expect if they do need to set special
> proxy settings for jclouds to use. More importantly in most cases they can
> now just set JVM proxy settings and the right thing will happen.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)