주의: 앞으로 몇 개월에 걸쳐 Google은 콘텐츠를 보다 손쉽게 찾고 나머지 Google Cloud 제품과 더 잘 연동되도록 App Engine 문서 사이트를 재구성할 예정입니다. 제공되는 콘텐츠는 동일하지만, 이제 탐색 기능이 나머지 클라우드 제품과 일치하게 됩니다. 사이트를 탐색할 때 의견이나 질문이 있으면 '의견 보내기'를 클릭하세요.

DatastoreServiceConfig(자바용 Google App Engine API)

com.google.appengine.api.datastore

DatastoreServiceConfig 클래스

  • java.lang.Object
    • com.google.appengine.api.datastore.DatastoreServiceConfig


  • public final class DatastoreServiceConfig
    extends java.lang.Object
    데이터 스토어의 사용자 구성 가능한 속성입니다.

    사용법 참고:
    DatastoreServiceConfig 객체를 인스턴스화할 때 DatastoreServiceConfig.Builder.* 를 정적으로 가져오고 정적 생성 메서드를 호출한 후 인스턴스 변형자를 호출(필요한 경우)하는 것이 좋습니다.

     import static com.google.appengine.api.datastore.DatastoreServiceConfig.Builder.*;
     import com.google.appengine.api.datastore.ReadPolicy.Consistency;
    
     ...
    
     // eventually consistent reads
     DatastoreServiceConfig config = withReadPolicy(new ReadPolicy(Consistency.EVENTUAL));
    
     // eventually consistent reads with a 5 second deadline
     DatastoreServiceConfig config =
       withReadPolicy(new ReadPolicy(Consistency.EVENTUAL)).deadline(5.0);
     

    • 필드 세부정보

      • DATASTORE_EMPTY_LIST_SUPPORT

        public static final java.lang.String DATASTORE_EMPTY_LIST_SUPPORT
        자바 SDK가 Datastore에서 빈 목록을 쓰거나 읽는 방식을 결정하는 시스템 속성의 이름입니다.

        지금까지 Datastore에는 영구 저장소에 빈 목록을 표시할 수 있는 기능이 없었습니다. 클라이언트가 빈 목록을 영구 스토리지에 삽입하려 하면 SDK마다 Datastore에 쓸 내용에 대해 서로 다른 결정을 내립니다. 지금까지 자바 SDK는 빈 목록과 null 값을 모두 영구 스토리지에 null 값으로 기록했습니다.

        이 플래그가 출시되면 Datastore는 영구 스토리지 내에서 빈 목록을 나타낼 수 있습니다. 즉, Datastore SDK는 빈 목록과 null 값을 구분할 수 있습니다. 이 속성은 SDK가 빈 목록을 영구 스토리지에 빈 목록으로 쓸지 아니면 null로 쓸지 여부를 제어합니다.

        쿼리 참고 사항: Datastore에서 null 값의 색인을 생성할 수 있으므로 쿼리와 상호작용할 수 있습니다. 예를 들어 null 값이 있거나 속성별로 정렬되는 모든 항목을 찾는 쿼리에는 null 값이 포함됩니다. 빈 목록은 Datastore에서 색인을 생성할 수 없으므로 유사한 쿼리에 표시되지 않습니다.

        따라서 이 플래그가 설정되지 않았고(이전 동작) 빈 목록이 영구 스토리지에 저장된 경우, 실제로 null 값으로 저장되므로 쿼리 결과에 나타날 수 있습니다.

        이 플래그가 설정되어 있고(새 동작) 빈 목록이 영구 스토리지에 저장된 경우 빈 목록으로 저장되므로 쿼리 결과에 나타나지 않습니다.

        이 변수가 'true' 이외의 값으로 설정되면 시스템은 이전 동작을 제공합니다.

        • null 속성이 Datastore에 null로 기록됩니다.
        • 빈 컬렉션이 Datastore에 null로 기록됩니다.
        • null은 Datastore에서 null로 읽습니다.
        • 빈 컬렉션은 null로 읽습니다. 빈 목록을 포함하는 항목을 읽거나 수정하거나 기록하면 해당 목록이 null 값으로 변환됩니다.

        이 변수를 'true'로 설정하면 다음과 같이 동작합니다.

        • null 속성이 Datastore에 null로 기록됩니다.
        • 빈 컬렉션(#Collection.isEmpty())은 Datastore에 빈 목록으로 기록됩니다.
        • null은 Datastore에서 null로 읽습니다.
        • 빈 컬렉션이 null로 읽힙니다.
        • Datastore에서 읽을 때 빈 목록이 빈 Collection으로 반환됩니다.

        다른 Datastore SDK 및 향후 Datastore 버전과의 호환성을 제공하려면 이 속성을 true로 설정하는 것이 좋습니다.

        플래그를 설정하려면 다음을 사용합니다. System.setProperty(DatastoreServiceConfig.DATASTORE_EMPTY_LIST_SUPPORT, Boolean.TRUE.toString());

        참조:
        상수 필드 값
    • 메소드 세부정보

      • getEmptyListSupport

        public static boolean getEmptyListSupport()
        빈 목록 지원이 사용 설정되었는지 여부를 반환합니다. DATASTORE_EMPTY_LIST_SUPPORT를 참조하세요.
      • implicitTransactionManagementPolicy

        public DatastoreServiceConfig implicitTransactionManagementPolicy(ImplicitTransactionManagementPolicy p)
        암시적 트랜잭션 관리 정책을 설정합니다.
        매개변수:
        p - 설정할 암시적 트랜잭션 관리 정책입니다.
        반환:
        this(연결용)
      • readPolicy

        public DatastoreServiceConfig readPolicy(ReadPolicy readPolicy)
        읽기 정책을 설정합니다.
        매개변수:
        readPolicy - 설정할 읽기 정책입니다.
        반환:
        this(연결용)
      • deadline

        public DatastoreServiceConfig deadline(double deadline)
        이 구성과 연결된 DatastoreService가 시작한 모든 RPC의 기한(초)을 설정합니다.
        매개변수:
        deadline - 설정할 기한입니다.
        반환:
        this(연결용)
        예외 처리:
        java.lang.IllegalArgumentException - 기한이 양수가 아닌 경우
      • maxEntityGroupsPerRpc

        public DatastoreServiceConfig maxEntityGroupsPerRpc(int maxEntityGroupsPerRpc)
        단일 RPC로 나타낼 수 있는 항목 그룹의 최대 수를 설정합니다.

        최대 항목보다 많은 항목 그룹이 포함된 비트랜잭션 작업의 경우, 각각 최대 수 이하의 항목 그룹이 포함된 여러 비동기 RPC를 데이터 스토어에 실행하여 수행합니다. 따라서 put() 작업에 8개의 항목 그룹이 있고 최댓값이 3이면 항목 그룹 3개가 포함된 RPC 2개와 항목 그룹 2개가 포함된 RPC 1개 등 RPC 3개를 보냅니다. 이는 성능 최적화입니다. 대부분의 경우 작은 비동기 RPC 여러 개를 실행하는 것이 큰 단일 비동기 RPC 실행 시보다 빠르게 완료됩니다. 이 속성의 최적 값은 애플리케이션마다 다르므로 실험하는 것이 좋습니다.

        매개변수:
        maxEntityGroupsPerRpc - RPC당 최대 항목 그룹 수
        반환:
        this(연결용)
        예외 처리:
        java.lang.IllegalArgumentException - maxEntityGroupsPerRpc가 0보다 크지 않은 경우
      • getImplicitTransactionManagementPolicy

        public ImplicitTransactionManagementPolicy getImplicitTransactionManagementPolicy()
        반환:
        사용할 ImplicitTransactionManagementPolicy
      • getReadPolicy

        public ReadPolicy getReadPolicy()
        반환:
        사용할 ReadPolicy
      • getMaxEntityGroupsPerRpc

        public java.lang.Integer getMaxEntityGroupsPerRpc()
        반환:
        rpc당 최대 항목 그룹 수입니다.
      • getDeadline

        public java.lang.Double getDeadline()
        반환:
        사용할 기한(초)입니다. null일 수 있습니다.