Altibase.jdbc.driver

## Class AltibaseFailover

- java.lang.Object
- - Altibase.jdbc.driver.AltibaseFailover

    public final class AltibaseFailover
    extends java.lang.Object

### Nested Class Summary

Nested Classes
`static class` `AltibaseFailover.CallbackState`
`static class` `AltibaseFailover.FailoverType`

### Method Summary

All Methods Static Methods Concrete Methods
`static boolean` `connectToAlternateServer(AltibaseFailoverContext aContext, AltibaseFailover.FailoverType aFailoverType, AltibaseProperties aProp, AltibaseFailoverServerInfo aNewServerInfo)`
`static boolean` `doCTF(AltibaseFailoverContext aContext, AltibaseFailover.FailoverType aFailoverType, AltibaseFailoverServerInfo aNewServerInfo)` shard failover align을 할때 수행되며 특정 서버로 CTF를 시도한다.
`static boolean` `isNeedToFailover(java.sql.SQLException aException)` Failover가 필요한 예외인지 확인한다.
`static void` `trySTF(AltibaseFailoverContext aContext, java.sql.SQLException aException)` STF를 시도하고, 결과에 따라 예외를 던진다.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Method Detail

#### trySTF

    public static void trySTF(AltibaseFailoverContext aContext,
                              java.sql.SQLException aException)
                       throws java.sql.SQLException

STF를 시도하고, 결과에 따라 예외를 던진다. 성공했을때도 예외를 던져 STF 성공을 알린다.

만약 failover context가 초기화되지 않았다면 원래 났던 예외를 던지거나 사용자가 넘긴 경고 객체를 그대로 반환한다.

Parameters:
  `aContext` - Failover context
  `aException` - 원래 났던 예외
Throws:
  `java.sql.SQLException` - STF에 실패했다면 원래 났던 예외, 아니면 STF 성공을 알리는 예외

#### doCTF

    public static boolean doCTF(AltibaseFailoverContext aContext,
                                AltibaseFailover.FailoverType aFailoverType,
                                AltibaseFailoverServerInfo aNewServerInfo)

shard failover align을 할때 수행되며 특정 서버로 CTF를 시도한다.

Parameters:
  `aContext` - Failover context 객체
  `aFailoverType` - Failover 타입
  `aNewServerInfo` - 접속할 서버
Returns:
  aNewServerInfo 서버로의 CTF 성공여부

#### connectToAlternateServer

    public static boolean connectToAlternateServer(AltibaseFailoverContext aContext,
                                                   AltibaseFailover.FailoverType aFailoverType,
                                                   AltibaseProperties aProp,
                                                   AltibaseFailoverServerInfo aNewServerInfo)

#### isNeedToFailover

    public static boolean isNeedToFailover(java.sql.SQLException aException)

Failover가 필요한 예외인지 확인한다.

Parameters:
  `aException` - Failover가 필요한지 볼 예외
Returns:
  Failover가 필요하면 true, 아니면 false