summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openslx/satserver/util/ProxyHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/openslx/satserver/util/ProxyHandler.java')
-rw-r--r--src/main/java/org/openslx/satserver/util/ProxyHandler.java35
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;
+ }
}
}
}