更新时间:2024-10-23 GMT+08:00
分享

Spring项目接入MAS-Mongo-SDK

  1. MAS-Mongo-SDK使用Maven获取相关依赖,根据实际情况设置Maven远程仓库地址等相关配置。
  2. 在pom.xml文件中引入如下依赖,下面mas.version版本为最新版本,依赖组件版本参考如何选择组件版本

    <properties>
        <!--以最新的版本号为准-->
        <mas.version>1.3.0-RELEASE</mas.version>
    </properties>
    <dependency>
        <groupId>com.huaweicloud.devspore</groupId>
        <artifactId>devspore-dds</artifactId>
        <version>${mas.version}</version>
    </dependency>

  3. 参照配置文件示例,结合配置参数说明,按实际情况修改配置文件。

    配置文件示例devspore-mongo.yaml:

    props:
      version: v1
      app-id: xxxx #MAS应用id
      monitor-id: xxxx #MAS监控id
      databaseName: xxxx #MAS监控的Mongo数据库
      cloud: xxxx
      region: xxxxx
      azs: az1 
    etcd:
      address: 127.0.0.1:2379 #格式为ip:port,集群模式时多个地址以英文逗号`,`分隔
      api-version: v3 
      username: xxxx
      password: xxxx
      https-enable: true
      certificatePath: xxx
    sources:
      dc1:
        username:xxx
        password: xxx
        url: mongodb://127.0.0.1:1234/mongo #此url请勿配置username和password
      dc2:
        username: yyy
        password: yyy
        url: mongodb://127.0.0.1:2234/mongo
    active: dc1

  4. MAS-Mongo-SDK提供了MasClusterConfigurationLoader.load方法,可以读取YAML格式的配置,生成Cluster(MongoClient)或MongoTemplate进行Mongodb操作。

    代码示例:
    @Bean
    public Cluster createCluster() {
        File yamlFile = new File(this.getClass().getClassLoader().getResource("devspore-mongo.yaml").getFile());
        ClusterConfiguration config = MasClusterConfigurationLoader.load(yamlFile);
        return MongoClientFactory.createMongoClient(config);
    }
    
    @Bean
    public MongoTemplate createMongoTemplate() {
        File yamlFile = new File(this.getClass().getClassLoader().getResource("devspore-mongo.yaml").getFile());
        ClusterConfiguration config = MasClusterConfigurationLoader.load(yamlFile);
        return MongoTemplateFactory.createMongoTemplate(config);
    }

  5. 在需要执行MongoDB操作的地方引入Cluster或MongoTemplate,并使用其执行Mongo操作。

相关文档