SyncFactory
SyncFactory (동기화 제공자 팩토리)
연결이 끊긴(disconnected) RowSet 객체가 사용할 SyncProvider 인스턴스를 생성하는 서비스 제공자 인터페이스(SPI) 메커니즘입니다. SyncProvider 인스턴스는 RowSet이 데이터로 스스로를 채우는 데 필요한 RowSetReader 객체와, 데이터 변경을 원본 데이터 소스로 되돌리는 데 필요한 RowSetWriter 객체를 제공합니다.
본문
SyncFactory 클래스의 메서드는 모두 정적(static)이므로, Java VM당 한 번에 SyncFactory 객체가 하나만 존재합니다. 이렇게 함으로써 RowSet 구현이 자신의 SyncProvider 구현을 얻을 수 있는 단일 소스를 보장합니다.
SyncFactory는 사용 가능한 동기화 제공자 구현(SyncProvider 객체)의 내부 레지스트리를 제공합니다. 등록된 제공자들의 열거형(Enumeration)은 다음 코드로 얻을 수 있어요.
java.util.Enumeration e = SyncFactory.getRegisteredProviders();
모든 표준 RowSet 구현은 최소 두 개의 제공자를 제공해야 합니다. CachedRowSet 구현에 사용되는 낙관적(optimistic) 제공자와, WebRowSet 같은 XML 읽기/쓰기에 사용되는 XML 제공자입니다. JDBC RowSet 구현에는 이 요구를 충족하는 RIOptimisticProvider와 RIXmlProvider가 포함되어 있어요.
SyncFactory 클래스는 현재 등록된 동기화 제공자를 확인하는 접근자 메서드를 제공하며, 다른 메서드들은 RowSet 영속성 제공자를 팩토리 메커니즘에 등록하거나 해제하는 데 쓰입니다. 이로써 추가 동기화 제공자 구현을 런타임에 RowSet 객체에 제공할 수 있습니다. JNDI 컨텍스트에 바인딩된 제공자는 setJNDIContext로 초기 컨텍스트를 설정해 검색할 수 있어요.
대표적인 메서드
public static void registerProvider(String providerID) throws SyncFactoryException
public static SyncFactory getSyncFactory()
public static SyncProvider getInstance(String providerID) throws SyncFactoryException
public static Enumeration<SyncProvider> getRegisteredProviders() throws SyncFactoryException
public static void setLogger(Logger logger)
public static void setJNDIContext(Context ctx) throws SyncFactoryException