Connection retry attempts to HDR secondary servers

You can write applications so that if a connection is lost during query operations, HCL OneDB™ JDBC Driver returns a new connection to the secondary database server and the application reruns the queries.

The following example shows how to retry a connection with the secondary server information, and then rerun an SQL statement that received an error because the primary server connection failed:
public class HDRConnect {
  static IfmxConnection conn;

  public static void main(String[] args) 
  {
     getConnection(args[0]); 
     doQuery( conn ); 
     closeConnection();
  }

  static void getConnection( String url ) 
  { 
        .. 
     Class.forName("com.informix.jdbc.IfxDriver"); 
     conn = (IfmxConnection )DriverManager.getConnection(url); 
         
  }
  static void closeConnection() 
  { 
     try 
     { 
         conn.close(); 
     } 
     catch (SQLException e) 
     { 
          System.out.println("ERROR: failed to close the connection!"); 
          return; 
     } 
  }
  static void doQuery( Connection con ) 
  { 
     int rc=0; 
     String cmd=null; 
     Statement stmt = null;

     try 
      { 
          // execute some sql statement 
      } 
     catch (SQLException e) 
       { 
          if (e.getErrorCode() == -79716 ) || (e.getErrorCode() == -79735) 
          // system or internal error 
       { 
          // This is expected behavior when primary server is down 
          getConnection(url); 
          doQuery(conn); 
       } 
       else 
         System.out.println("ERROR: execution failed - statement: " + cmd);
       return; 
       } 
  }