diff options
Diffstat (limited to 'src/main/java/org/openslx/satserver/util/ProxyHandler.java')
-rw-r--r-- | src/main/java/org/openslx/satserver/util/ProxyHandler.java | 35 |
1 files changed, 26 insertions, 9 deletions
diff --git a/src/main/java/org/openslx/satserver/util/ProxyHandler.java b/src/main/java/org/openslx/satserver/util/ProxyHandler.java index 9a702fe..f70a496 100644 --- a/src/main/java/org/openslx/satserver/util/ProxyHandler.java +++ b/src/main/java/org/openslx/satserver/util/ProxyHandler.java @@ -3,19 +3,36 @@ package org.openslx.satserver.util; import org.openslx.network.ProxyConfiguration; /** - * Class for handling proxy configuration in task manager. Just configure proxy - * setting system wide, if it was not done already. + * Class for handling proxy configuration in task manager. + * * @author bjoern - * + * */ -public class ProxyHandler { +public class ProxyHandler +{ private static boolean hasDoneConfigProxy = false; + private static final Object proxyMutex = new Object(); - public static void configProxy() { - // Just configuring proxy settings system wide, if not done already. - if (!hasDoneConfigProxy) { - ProxyConfiguration.configProxy(); - hasDoneConfigProxy = true; + /** + * Do proxy setup if not done already + */ + public static void configProxy() + { + configProxy( false ); + } + + /** + * Do proxy setup if not done already, or if explicitly forced. + * + * @param force Do setup even if already done + */ + public static synchronized void configProxy( boolean force ) + { + synchronized ( proxyMutex ) { + if ( !hasDoneConfigProxy || force ) { + ProxyConfiguration.configProxy(); + hasDoneConfigProxy = true; + } } } } |