Freigeben über


ConflictResolutionPolicy Klasse

  • java.lang.Object

public class ConflictResolutionPolicy extends JsonSerializable

Stellt die Konfliktlösungsrichtlinienkonfiguration dar, in der angegeben wird, wie Konflikte gelöst werden sollen, falls Schreibvorgänge aus verschiedenen Regionen zu Konflikten für Dokumente in der Sammlung im Azure Cosmos DB-Dienst führen.

Eine Sammlung mit benutzerdefinierter Konfliktlösung ohne vom Benutzer registrierte gespeicherte Prozedur.

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();
    

Eine Sammlung mit benutzerdefinierter Konfliktlösung mit einer vom Benutzer registrierten gespeicherten Prozedur.

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();
    

Eine Sammlung mit dem letzten Writer gewinnt die Konfliktlösung basierend auf einem Pfad in den in Konflikt stehenden Dokumenten. Eine Sammlung mit benutzerdefinierter Konfliktlösung mit einer vom Benutzer registrierten gespeicherten Prozedur.

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();
    

Zusammenfassung zum Konstruktor

Konstruktor Beschreibung
ConflictResolutionPolicy(String jsonString)

Methodenzusammenfassung

Modifizierer und Typ Methode und Beschreibung
ConflictResolutionPolicy createCustomPolicy()

Erstellt einen Benutzerdefiniert ConflictResolutionPolicy ohne StoredProcedure. Benutzer sollten Konflikte manuell beheben.

Die Konflikte werden im Konfliktfeed registriert, und der Benutzer sollte sie manuell beheben.

ConflictResolutionPolicy createCustomPolicy(String conflictResolutionSprocName)

Erstellt einen Benutzerdefiniert ConflictResolutionPolicy , der die angegebene gespeicherte Prozedur zum Ausführen der Konfliktlösung verwendet.

Diese gespeicherte Prozedur kann erstellt werden, nachdem die DocumentCollection erstellt wurde, und kann bei Bedarf geändert werden.

    <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()

Erstellt einen LastWriterWins-Wert ConflictResolutionPolicy mit "/_ts" als Auflösungspfad.

Im Falle eines Konflikts in einem Dokument wird das Dokument mit dem höheren ganzzahligen Wert im Standardpfad getTimestamp()verwendet, d. h. "/_ts".

ConflictResolutionPolicy createLastWriterWinsPolicy(String conflictResolutionPath)

Erstellt einen LastWriterWins-Wert ConflictResolutionPolicy mit Pfad als Auflösungspfad.

Der angegebene Pfad muss in jedem Dokument vorhanden sein und muss ein ganzzahliger Wert sein. Im Falle eines Konflikts mit einem Dokument wird das Dokument mit dem höheren ganzzahligen Wert im angegebenen Pfad ausgewählt.

ConflictResolutionMode getConflictResolutionMode()

Ruft den ConflictResolutionMode im Azure Cosmos DB-Dienst ab. Standardmäßig ist dies LastWriterWins.

String getConflictResolutionPath()

Ruft den Pfad ab, der in jedem Dokument im Azure Cosmos DB-Dienst für den letzten Writer vorhanden ist. Dieser Pfad muss in jedem Dokument vorhanden sein und muss ein ganzzahliger Wert sein. Im Falle eines Konflikts mit einem Dokument wird das Dokument mit dem höheren ganzzahligen Wert im angegebenen Pfad ausgewählt. Wenn der Pfad nicht angegeben ist, wird standardmäßig der getTimestamp() Pfad verwendet.

Dieser Wert sollte nur festgelegt werden, wenn LastWriterWins

String getConflictResolutionProcedure()

Ruft die ab, die StoredProcedure für die Konfliktlösung im Azure Cosmos DB-Dienst verwendet wird. Diese gespeicherte Prozedur kann erstellt werden, nachdem die DocumentCollection erstellt wurde, und kann bei Bedarf geändert werden.

    <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>
    

Geerbte Elemente

Details zum Konstruktor

ConflictResolutionPolicy

public ConflictResolutionPolicy(String jsonString)

Parameter:

jsonString

Details zur Methode

createCustomPolicy

public static ConflictResolutionPolicy createCustomPolicy()

Erstellt einen Benutzerdefiniert ConflictResolutionPolicy ohne StoredProcedure. Benutzer sollten Konflikte manuell beheben.

Die Konflikte werden im Konfliktfeed registriert, und der Benutzer sollte sie manuell beheben.

Gibt zurück:

Conflictresolutionpolicy.

createCustomPolicy

public static ConflictResolutionPolicy createCustomPolicy(String conflictResolutionSprocName)

Erstellt einen Benutzerdefiniert ConflictResolutionPolicy , der die angegebene gespeicherte Prozedur zum Ausführen der Konfliktlösung verwendet.

Diese gespeicherte Prozedur kann erstellt werden, nachdem die DocumentCollection erstellt wurde, und kann bei Bedarf geändert werden.

    <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>
    

Parameter:

conflictResolutionSprocName - gespeicherte Prozedur zum Ausführen der Konfliktlösung.

Gibt zurück:

Conflictresolutionpolicy.

createLastWriterWinsPolicy

public static ConflictResolutionPolicy createLastWriterWinsPolicy()

Erstellt einen LastWriterWins-Wert ConflictResolutionPolicy mit "/_ts" als Auflösungspfad.

Im Falle eines Konflikts in einem Dokument wird das Dokument mit dem höheren ganzzahligen Wert im Standardpfad getTimestamp()verwendet, d. h. "/_ts".

Gibt zurück:

Conflictresolutionpolicy.

createLastWriterWinsPolicy

public static ConflictResolutionPolicy createLastWriterWinsPolicy(String conflictResolutionPath)

Erstellt einen LastWriterWins-Wert ConflictResolutionPolicy mit Pfad als Auflösungspfad.

Der angegebene Pfad muss in jedem Dokument vorhanden sein und muss ein ganzzahliger Wert sein. Im Falle eines Konflikts mit einem Dokument wird das Dokument mit dem höheren ganzzahligen Wert im angegebenen Pfad ausgewählt.

Parameter:

conflictResolutionPath - Der Pfad zum Überprüfen der Werte für last-writer gewinnt die Konfliktlösung. Dieser Pfad ist ein Rootpfad der Eigenschaft im Dokument, z. B. "/name/first".

Gibt zurück:

Conflictresolutionpolicy.

getConflictResolutionMode

public ConflictResolutionMode getConflictResolutionMode()

Ruft den ConflictResolutionMode im Azure Cosmos DB-Dienst ab. Standardmäßig ist dies LastWriterWins.

Gibt zurück:

ConflictResolutionMode.

getConflictResolutionPath

public String getConflictResolutionPath()

Ruft den Pfad ab, der in jedem Dokument im Azure Cosmos DB-Dienst für den letzten Writer vorhanden ist. Dieser Pfad muss in jedem Dokument vorhanden sein und muss ein ganzzahliger Wert sein. Im Falle eines Konflikts mit einem Dokument wird das Dokument mit dem höheren ganzzahligen Wert im angegebenen Pfad ausgewählt. Wenn der Pfad nicht angegeben ist, wird standardmäßig der getTimestamp() Pfad verwendet.

Dieser Wert sollte nur festgelegt werden, wenn LastWriterWins

Gibt zurück:

Der Pfad zum Überprüfen der Werte für last-writer gewinnt die Konfliktlösung. Dieser Pfad ist ein Rootpfad der Eigenschaft im Dokument, z. B. "/name/first".

getConflictResolutionProcedure

public String getConflictResolutionProcedure()

Ruft die ab, die StoredProcedure für die Konfliktlösung im Azure Cosmos DB-Dienst verwendet wird. Diese gespeicherte Prozedur kann erstellt werden, nachdem die DocumentCollection erstellt wurde, und kann bei Bedarf geändert werden.

    <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>
    

Gibt zurück:

die gespeicherte Prozedur zum Ausführen der Konfliktlösung.]

Gilt für: