SDO HelperContext 오브젝트 작성 및 액세스(더 이상 사용되지 않음)
SCA(Service Component Architecture) 구현은 SDO(Service Data Objects) 2.1.1(JSR 235)을 준수하며 몇 가지 구현별 확장을 제공합니다. 이러한 확장은 현재 개발 중인 OASIS SDO 3.0 스펙의 최근 방향을 따릅니다. 확장 중 하나에는 SDO 클래스 및 HelperContextFactory 인터페이스에 있는 HelperContext 오브젝트를 작성하고 관리하는 데 사용되는 API를 도입했습니다.
이 태스크 정보
이 주제에서는 비SCA 애플리케이션에서 SDO HelperContext를 작성하고 액세스하는 방법에 대해 설명합니다.
SDO 2.1.1을 포함하여 3.0 이전의 SDO 버전에서는 HelperContext 오브젝트를 작성하는 표준 방법이 없습니다. SDO 헬퍼 클래스는 기본 HelperContext에서 액세스할 수 있으며 일반적으로 해당 INSTANCE 필드(예: TypeHelper.INSTANCE)를 사용하여 액세스됩니다. SDO 2.1.1에서는 INSTANCE 필드를 사용하지 않는 것이 좋으며 SDO 3.0에서는 이 필드가 사용되지 않을 가능성이 높습니다. INSTANCE 필드를 사용하는 대신, 해당 접근자 메서드를 사용하여 도우미에 액세스하도록 애플리케이션을 코딩하세요. HelperContext 예를 들어 인터페이스 helperContext.getTypeHelper(). SDO에서는 2.1.1, 유일한 HelperContext 표준 API를 통해 사용할 수 있는 기본 도우미 컨텍스트는 다음과 같습니다. HelperProvider.getDefaultContext().
제안된 SDO 3.0 범위 솔루션(제품에서 사용 가능)은 보다 유연하며 이 주제에서 설명합니다.
HelperContext는 SDO의 메타데이터 범위를 나타냅니다. 제품에서 사용 가능한 SDO 3.0에서는 HelperContext가 HelperContextFactory를 사용하여 작성됩니다. HelperContextFactory 인터페이스는 다음과 같습니다.
public interface HelperContextFactory {
/**
* Create a new HelperContext in this implementation. Once created the HelperContext
* can be looked up as follows (Note if the identifier is null or "" it is not registered):
* SDO.getHelperContext(identifier);
* @param identifier - A unique identifier that can be used to access the HelperContext.
* @param properties - Properties required to initialize the HelperContext.
* @return a HelperContext object
* @throws IllegalArgumentException If a different HelperContext is already
* registered with the specified identifier.
*/
public HelperContext createHelperContext(String identifier, Map<String, Object> properties)
throws IllegalArgumentException;
/**
* Create a new HelperContext in this implementation. Once created the HelperContext
* can be looked up as follows (Note if the identifier is null or "" it is not registered):
* SDO.getHelperContext(identifier);
* @param identifier - A unique identifier that can be used to access the HelperContext.
* @param classLoader - The class loader for the generated static classes (if any).
* @param properties - Properties required to initialize the HelperContext.
* @return a HelperContext object
* @throws IllegalArgumentException If a different HelperContext is already
* registered with the specified identifier.
*/
public HelperContext createHelperContext(String identifier, ClassLoader classLoader,
Map<String, Object> properties) throws IllegalArgumentException;
} SDO 환경에서 사용 가능한 HelperContextFactory가 두 개 이상일 수 있으나 기본값은 하나입니다. 기본 HelperContextFactory에는 commonj.sdo.helper.SDO 인터페이스를 통해 액세스할 수 있습니다.
프로시저
결과
HelperContext 오브젝트가 정의되고 액세스 가능하게 됩니다.
다음에 수행할 내용
SCA 애플리케이션에서 SDO를 사용하십시오. SCA 애플리케이션에서 SDO를 사용하면 SCA 런타임에서 일반적으로 HelperContext 오브젝트 및 ID를 작성합니다. SCA 애플리케이션에서 SDO 2.1.1 사용에 대한 주제를 참조하십시오.
SCA 애플리케이션에서 SDO를 사용하는 경우 SCA 런타임에서 HelperContext 오브젝트 및 ID를 관리하므로 SCA 애플리케이션에서 SDO HelperContext를 작성 및 액세스하는 데 사용되는 메소드는 비SCA 애플리케이션에서 사용되는 메소드와 다릅니다. SCA 애플리케이션은 다음과 같이 DefaultHelperContext 어노테이션을 사용하여 SDO HelperContext에 액세스할 수 있습니다. 예를 들어, 다음과 같습니다.
import com.ibm.websphere.soa.sca.sdo.DefaultHelperContext;
@DefaultHelperContext
public HelperContext defaultHelperContext;