From 3e5c2ba8d8e56282aa679a21f23cb73302d1712d Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Tue, 6 Jun 2017 13:37:16 -0700 Subject: [PATCH] GUACAMOLE-317: Always prefer non-failover connections relative to failover-only connections. --- .../jdbc/tunnel/RestrictedGuacamoleTunnelService.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/RestrictedGuacamoleTunnelService.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/RestrictedGuacamoleTunnelService.java index fa2c99f23..19a625ab2 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/RestrictedGuacamoleTunnelService.java +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/RestrictedGuacamoleTunnelService.java @@ -187,6 +187,15 @@ public class RestrictedGuacamoleTunnelService @Override public int compare(ModeledConnection a, ModeledConnection b) { + // Always prefer non-failover connections to those which are + // failover-only + if (a.isFailoverOnly()) { + if (!b.isFailoverOnly()) + return 1; + } + else if (b.isFailoverOnly()) + return -1; + // Active connections int connA = getActiveConnections(a).size(); int connB = getActiveConnections(b).size();