Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring 如何根据MongoAction的某些属性为不同的条件设置不同的WriteConcern?_Spring_Mongodb_Java 8_Spring Data Mongodb - Fatal编程技术网

Spring 如何根据MongoAction的某些属性为不同的条件设置不同的WriteConcern?

Spring 如何根据MongoAction的某些属性为不同的条件设置不同的WriteConcern?,spring,mongodb,java-8,spring-data-mongodb,Spring,Mongodb,Java 8,Spring Data Mongodb,根据MongoAction的某些条件设置不同WriteConcern值的可能方法是什么? 例如,我想如果MongoAction包含一些值,比如“ABD”,我想应该没有WriteConcern。如果它包含“PAYMENT”,那么WriteConcern应该是安全的。 我可以实现这一点的可能情况有哪些?可以通过执行WriteConcernResolver并覆盖解析方法来实现上述操作,如下所示: class MyAppWriteConcernResolver implements WriteConce

根据MongoAction的某些条件设置不同WriteConcern值的可能方法是什么? 例如,我想如果MongoAction包含一些值,比如“ABD”,我想应该没有WriteConcern。如果它包含“PAYMENT”,那么WriteConcern应该是安全的。
我可以实现这一点的可能情况有哪些?

可以通过执行
WriteConcernResolver
并覆盖解析方法来实现上述操作,如下所示:

class MyAppWriteConcernResolver implements WriteConcernResolver {

  @Override
  public WriteConcern resolve(MongoAction action) {

    if (action.getEntityClass().getSimpleName().contains("ADB")) {
      return WriteConcern.NONE;
    } else if (action.getEntityClass().getSimpleName().contains("PAYMENT")) {
      return WriteConcern.SAFE;
    }

    return action.getDefaultWriteConcern();
  }
}

传入的参数
MongoAction
,用于确定要使用的
WriteConcern
MongoAction
包含要写入的集合名称、POJO的
java.lang.Class
、转换的
DBObject
、以及作为枚举的操作(
MongoAction操作
删除
更新´、`INSERT
插入列表
保存
)和其他一些上下文信息。

好的!我想您可以提到,这样的一个实例需要在
MongoTemplate
上配置。这是如何使用的???