Partilhar via


ConflictResolutionPolicy Classe

  • java.lang.Object

public class ConflictResolutionPolicy extends JsonSerializable

Representa a configuração da política de resolução de conflitos para especificar como resolve conflitos caso gravações de regiões diferentes resultem em conflitos em documentos na coleção no serviço do Azure Cosmos DB.

Uma coleção com resolução de conflitos personalizada sem nenhum procedimento armazenado registrado pelo usuário.

DocumentCollection collectionSpec = new DocumentCollection();
    collectionSpec.setId("Multi-master collection");
    
    ConflictResolutionPolicy policy = ConflictResolutionPolicy.createCustomPolicy();
    collectionSpec.setConflictResolutionPolicy(policy);
    
    DocumentCollection collection = client.createCollection(databaseLink, collectionSpec, null)
            .toBlocking().single().getResource();
    

Uma coleção com resolução de conflitos personalizada com um procedimento armazenado registrado pelo usuário.

DocumentCollection collectionSpec = new DocumentCollection();
    collectionSpec.setId("Multi-master collection");
    
    ConflictResolutionPolicy policy = ConflictResolutionPolicy.createCustomPolicy(conflictResolutionSprocName);
    collectionSpec.setConflictResolutionPolicy(policy);
    
    DocumentCollection collection = client.createCollection(databaseLink, collectionSpec, null)
            .toBlocking().single().getResource();
    

Uma coleção com o último gravador ganha resolução de conflitos, com base em um caminho nos documentos conflitantes. Uma coleção com resolução de conflitos personalizada com um procedimento armazenado registrado pelo usuário.

DocumentCollection collectionSpec = new DocumentCollection();
    collectionSpec.setId("Multi-master collection");
    
    ConflictResolutionPolicy policy = ConflictResolutionPolicy.createLastWriterWinsPolicy("/path/for/conflict/resolution");
    collectionSpec.setConflictResolutionPolicy(policy);
    
    DocumentCollection collection = client.createCollection(databaseLink, collectionSpec, null)
            .toBlocking().single().getResource();
    

Resumo do Construtor

Construtor Description
ConflictResolutionPolicy(String jsonString)

Resumo do método

Modificador e tipo Método e descrição
ConflictResolutionPolicy createCustomPolicy()

Cria um Personalizado ConflictResolutionPolicy sem nenhum StoredProcedure. O usuário deve resolve conflitos manualmente.

Os conflitos serão registrados no feed de conflitos e o usuário deverá resolve-los manualmente.

ConflictResolutionPolicy createCustomPolicy(String conflictResolutionSprocName)

Cria um Personalizado ConflictResolutionPolicy que usa o procedimento armazenado especificado para executar a resolução de conflitos

Esse procedimento armazenado pode ser criado depois que o DocumentCollection é criado e pode ser alterado conforme necessário.

    <li>
    
      <p>In case the stored procedure fails or throws an exception, the conflict resolution will default to registering conflicts in the conflicts feed </p>
    
    </li>
    
    <li>
    
      <p>The user can provide the stored procedure </p>
    
    </li>
    

ConflictResolutionPolicy createLastWriterWinsPolicy()

Cria um LastWriterWins ConflictResolutionPolicy com "/_ts" como o caminho de resolução.

No caso de um conflito ocorrer em um documento, o documento com o valor inteiro mais alto no caminho getTimestamp()padrão , ou seja, "/_ts" será usado.

ConflictResolutionPolicy createLastWriterWinsPolicy(String conflictResolutionPath)

Cria um LastWriterWins ConflictResolutionPolicy com o caminho como o caminho de resolução.

O caminho especificado deve estar presente em cada documento e deve ser um valor inteiro. No caso de um conflito ocorrer em um documento, o documento com o valor inteiro mais alto no caminho especificado será escolhido.

ConflictResolutionMode getConflictResolutionMode()

Obtém o ConflictResolutionMode no serviço do Azure Cosmos DB. Por padrão, é LastWriterWins.

String getConflictResolutionPath()

Obtém o caminho que está presente em cada documento no serviço do Azure Cosmos DB para o último gravador ganha a resolução de conflitos. Esse caminho deve estar presente em cada documento e deve ser um valor inteiro. No caso de um conflito ocorrer em um documento, o documento com o valor inteiro mais alto no caminho especificado será escolhido. Se o caminho não for especificado, por padrão, o getTimestamp() caminho será usado.

Esse valor só deve ser definido ao usar LastWriterWins

String getConflictResolutionProcedure()

Obtém o StoredProcedure que é usado para resolução de conflitos no serviço do Azure Cosmos DB. Esse procedimento armazenado pode ser criado depois que o DocumentCollection é criado e pode ser alterado conforme necessário.

    <li>
    
      <p>This value should only be set when using <xref uid="com.microsoft.azure.cosmosdb.ConflictResolutionMode.Custom" data-throw-if-not-resolved="false" data-raw-source="ConflictResolutionMode#Custom"></xref></p>
    
    </li>
    
    <li>
    
      <p>In case the stored procedure fails or throws an exception, the conflict resolution will default to registering conflicts in the conflicts feed </p>
    
    </li>
    
    <li>
    
      <p>The user can provide the stored procedure </p>
    
    </li>
    

Membros herdados

Detalhes do construtor

ConflictResolutionPolicy

public ConflictResolutionPolicy(String jsonString)

Parâmetros:

jsonString

Detalhes do método

createCustomPolicy

public static ConflictResolutionPolicy createCustomPolicy()

Cria um Personalizado ConflictResolutionPolicy sem nenhum StoredProcedure. O usuário deve resolve conflitos manualmente.

Os conflitos serão registrados no feed de conflitos e o usuário deverá resolve-los manualmente.

Retornos:

Conflictresolutionpolicy.

createCustomPolicy

public static ConflictResolutionPolicy createCustomPolicy(String conflictResolutionSprocName)

Cria um Personalizado ConflictResolutionPolicy que usa o procedimento armazenado especificado para executar a resolução de conflitos

Esse procedimento armazenado pode ser criado depois que o DocumentCollection é criado e pode ser alterado conforme necessário.

    <li>
    
      <p>In case the stored procedure fails or throws an exception, the conflict resolution will default to registering conflicts in the conflicts feed </p>
    
    </li>
    
    <li>
    
      <p>The user can provide the stored procedure </p>
    
    </li>
    

Parâmetros:

conflictResolutionSprocName - procedimento armazenado para executar a resolução de conflitos.

Retornos:

Conflictresolutionpolicy.

createLastWriterWinsPolicy

public static ConflictResolutionPolicy createLastWriterWinsPolicy()

Cria um LastWriterWins ConflictResolutionPolicy com "/_ts" como o caminho de resolução.

No caso de um conflito ocorrer em um documento, o documento com o valor inteiro mais alto no caminho getTimestamp()padrão , ou seja, "/_ts" será usado.

Retornos:

Conflictresolutionpolicy.

createLastWriterWinsPolicy

public static ConflictResolutionPolicy createLastWriterWinsPolicy(String conflictResolutionPath)

Cria um LastWriterWins ConflictResolutionPolicy com o caminho como o caminho de resolução.

O caminho especificado deve estar presente em cada documento e deve ser um valor inteiro. No caso de um conflito ocorrer em um documento, o documento com o valor inteiro mais alto no caminho especificado será escolhido.

Parâmetros:

conflictResolutionPath - O caminho para marcar valores para o último gravador ganha a resolução de conflitos. Esse caminho é um caminho raiz da propriedade no documento, como "/name/first".

Retornos:

Conflictresolutionpolicy.

getConflictResolutionMode

public ConflictResolutionMode getConflictResolutionMode()

Obtém o ConflictResolutionMode no serviço do Azure Cosmos DB. Por padrão, é LastWriterWins.

Retornos:

ConflictResolutionMode.

getConflictResolutionPath

public String getConflictResolutionPath()

Obtém o caminho que está presente em cada documento no serviço do Azure Cosmos DB para o último gravador ganha a resolução de conflitos. Esse caminho deve estar presente em cada documento e deve ser um valor inteiro. No caso de um conflito ocorrer em um documento, o documento com o valor inteiro mais alto no caminho especificado será escolhido. Se o caminho não for especificado, por padrão, o getTimestamp() caminho será usado.

Esse valor só deve ser definido ao usar LastWriterWins

Retornos:

O caminho para marcar valores para o último gravador ganha a resolução de conflitos. Esse caminho é um caminho raiz da propriedade no documento, como "/name/first".

getConflictResolutionProcedure

public String getConflictResolutionProcedure()

Obtém o StoredProcedure que é usado para resolução de conflitos no serviço do Azure Cosmos DB. Esse procedimento armazenado pode ser criado depois que o DocumentCollection é criado e pode ser alterado conforme necessário.

    <li>
    
      <p>This value should only be set when using <xref uid="com.microsoft.azure.cosmosdb.ConflictResolutionMode.Custom" data-throw-if-not-resolved="false" data-raw-source="ConflictResolutionMode#Custom"></xref></p>
    
    </li>
    
    <li>
    
      <p>In case the stored procedure fails or throws an exception, the conflict resolution will default to registering conflicts in the conflicts feed </p>
    
    </li>
    
    <li>
    
      <p>The user can provide the stored procedure </p>
    
    </li>
    

Retornos:

o procedimento armazenado para executar a resolução de conflitos.]

Aplica-se a