你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

ConflictResolutionPolicy 类

  • java.lang.Object

public class ConflictResolutionPolicy extends JsonSerializable

表示冲突解决策略配置,用于指定在不同区域的写入导致 Azure Cosmos DB 服务集合中的文档发生冲突时如何解决冲突。

具有自定义冲突解决的集合,没有用户注册的存储过程。

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

具有用户注册存储过程的自定义冲突解决的集合。

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

具有最后一个写入器的集合根据冲突文档中的路径赢得冲突解决。 具有用户注册存储过程的自定义冲突解决的集合。

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

构造函数摘要

构造函数 说明
ConflictResolutionPolicy(String jsonString)

方法摘要

修饰符和类型 方法和描述
ConflictResolutionPolicy createCustomPolicy()

创建不带任何 的StoredProcedure自定义ConflictResolutionPolicy。 用户应手动解决冲突。

冲突将在冲突源中注册,用户应手动解决这些问题。

ConflictResolutionPolicy createCustomPolicy(String conflictResolutionSprocName)

创建使用指定存储过程执行冲突解决的自定义ConflictResolutionPolicy

此存储过程可以在创建 后创建, DocumentCollection 并且可以根据需要进行更改。

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

创建一个 LastWriterWins ConflictResolutionPolicy ,其中“/_ts”作为解析路径。

如果文档发生冲突,将使用默认路径 getTimestamp()中整数值较高的文档,即“/_ts”。

ConflictResolutionPolicy createLastWriterWinsPolicy(String conflictResolutionPath)

创建具有 path 作为解析路径的 LastWriterWins ConflictResolutionPolicy

指定的路径必须存在于每个文档中,并且必须是整数值。 如果文档发生冲突,将选取指定路径中整数值较高的文档。

ConflictResolutionMode getConflictResolutionMode()

ConflictResolutionMode获取 Azure Cosmos DB 服务中的 。 默认情况下,它是 LastWriterWins

String getConflictResolutionPath()

获取 Azure Cosmos DB 服务中每个文档中存在的路径,以便最后一个编写器赢得冲突解决。 此路径必须存在于每个文档中,并且必须是整数值。 如果文档发生冲突,将选取指定路径中整数值较高的文档。 如果路径未指定,则默认使用路径 getTimestamp()

仅当使用时,才应设置此值 LastWriterWins

String getConflictResolutionProcedure()

StoredProcedure获取用于在 Azure Cosmos DB 服务中解决冲突的 。 此存储过程可以在创建 后创建, DocumentCollection 并且可以根据需要进行更改。

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

继承成员

构造函数详细信息

ConflictResolutionPolicy

public ConflictResolutionPolicy(String jsonString)

参数:

jsonString

方法详细信息

createCustomPolicy

public static ConflictResolutionPolicy createCustomPolicy()

创建不带任何 的StoredProcedure自定义ConflictResolutionPolicy。 用户应手动解决冲突。

冲突将在冲突源中注册,用户应手动解决这些问题。

返回:

ConflictResolutionPolicy。

createCustomPolicy

public static ConflictResolutionPolicy createCustomPolicy(String conflictResolutionSprocName)

创建使用指定存储过程执行冲突解决的自定义ConflictResolutionPolicy

此存储过程可以在创建 后创建, DocumentCollection 并且可以根据需要进行更改。

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

参数:

conflictResolutionSprocName - 执行冲突解决的存储过程。

返回:

ConflictResolutionPolicy。

createLastWriterWinsPolicy

public static ConflictResolutionPolicy createLastWriterWinsPolicy()

创建一个 LastWriterWins ConflictResolutionPolicy ,其中“/_ts”作为解析路径。

如果文档发生冲突,将使用默认路径 getTimestamp()中整数值较高的文档,即“/_ts”。

返回:

ConflictResolutionPolicy。

createLastWriterWinsPolicy

public static ConflictResolutionPolicy createLastWriterWinsPolicy(String conflictResolutionPath)

创建具有 path 作为解析路径的 LastWriterWins ConflictResolutionPolicy

指定的路径必须存在于每个文档中,并且必须是整数值。 如果文档发生冲突,将选取指定路径中整数值较高的文档。

参数:

conflictResolutionPath - 最后一个编写器检查值的路径将赢得冲突解决。 该路径是文档中属性的根路径,例如“/name/first”。

返回:

ConflictResolutionPolicy。

getConflictResolutionMode

public ConflictResolutionMode getConflictResolutionMode()

ConflictResolutionMode获取 Azure Cosmos DB 服务中的 。 默认情况下,它是 LastWriterWins

返回:

ConflictResolutionMode。

getConflictResolutionPath

public String getConflictResolutionPath()

获取 Azure Cosmos DB 服务中每个文档中存在的路径,以便最后一个编写器赢得冲突解决。 此路径必须存在于每个文档中,并且必须是整数值。 如果文档发生冲突,将选取指定路径中整数值较高的文档。 如果路径未指定,则默认使用路径 getTimestamp()

仅当使用时,才应设置此值 LastWriterWins

返回:

最后一个编写器检查值的路径将赢得冲突解决。 该路径是文档中属性的根路径,例如“/name/first”。

getConflictResolutionProcedure

public String getConflictResolutionProcedure()

StoredProcedure获取用于在 Azure Cosmos DB 服务中解决冲突的 。 此存储过程可以在创建 后创建, DocumentCollection 并且可以根据需要进行更改。

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

返回:

执行冲突解决的存储过程。]

适用于