import java.io.*; import java.text.*; import java.util.Date; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.DriverPropertyInfo; import java.sql.SQLException; import java.sql.Statement; import java.sql.ResultSet; import java.sql.Timestamp; import com.mysql.jdbc.Driver; import com.mysql.jdbc.PreparedStatement; import com.mysql.jdbc.ResultSetMetaData; public class loadbalance_bug { public static void main(String[] args) throws SQLException, ClassNotFoundException{ System.out.println("START"); Connection conn; Class.forName("com.mysql.jdbc.Driver"); for(int j=0; j<5; j++) try { System.out.printf("Connecting....."); conn = DriverManager.getConnection("jdbc:mysql:loadbalance://localhost:3306,localhost:3307,localhost:3308/test?loadBalanceStrategy=random&roundRobinLoadBalance=true", "root", null); System.out.printf("DONE\n"); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SHOW VARIABLES LIKE 'hostname'"); while(rs.next()) System.out.printf("%s: %s ", rs.getString(1), rs.getString(2)); rs.close(); rs = stmt.executeQuery("SHOW VARIABLES LIKE 'port'"); while(rs.next()) System.out.printf("%s: %s \n", rs.getString(1), rs.getString(2)); System.out.printf("Disconnect\n\n"); conn.close(); } catch (SQLException e) { System.out.println(e.getMessage()); e.printStackTrace(); System.exit(1); } System.out.println("FINISH"); } }