【问题标题】:mongo java driver 2.14.0. Change Deprecated codemongo java 驱动程序 2.14.0.更改已弃用的代码
【发布时间】:2016-07-28 10:30:43
【问题描述】:

我正在将 mongo java 驱动程序 jar 升级到 2.14.0。我的旧代码工作正常,但下面的代码显示了不推荐使用的类和构造函数,所以我需要兼容的代码,没有 mongo-java-driver.jar 2.14.0 的不推荐使用的类和构造函数。

public MongoTemplate getMongoTemplate() {

    SimpleMongoDbFactory simpleMongoDbFactory = null;

    try {

        MongoOptions opts = new MongoOptions();//depricate

        opts.threadsAllowedToBlockForConnectionMultiplier = getThreadsAllowedToBlockForConnectionMultiplier();//depricate

        opts.connectionsPerHost = getConnectionsPerHost();//depricate

        ServerAddress addr = new ServerAddress(getHost(), getPort());

        Mongo mongo = new Mongo(addr, opts);//depricate

        simpleMongoDbFactory = new SimpleMongoDbFactory(mongo,
                getDatabaseName());//depricate

        if (mongoTemplate == null) {

            mongoTemplate = new MongoTemplate(simpleMongoDbFactory);

        }

    } catch (UnknownHostException e) {

        LOGGER.error(e.getMessage());

    } catch (MongoException e) {

        LOGGER.error(e.getMessage());

    }

    return mongoTemplate;
}

【问题讨论】:

  • 你的问题到底是什么?
  • 我提到过的那些行想要替换为 spring-data-mongodb-1.9.2.jar 的代码。

标签: java spring mongo-java-driver


【解决方案1】:

这不是 Spring Data MongoDB 代码。这是来自 MongoDB Java 驱动程序的代码,该驱动程序在很久以前就已经被弃用了。激励用户使用MongoClient 而非MongoMongoClientOptions 而非MongoOptions 等。

【讨论】:

  • 谢谢.. 那是我的错误。你是对的,这段代码是 MongoDB Java 驱动程序的代码,在新版本的 mongo java 驱动程序中已被弃用。
【解决方案2】:

等价的代码是

public MongoTemplate getMongoTemplate() {

    SimpleMongoDbFactory simpleMongoDbFactory = null;

    try {
        Builder builder =MongoClientOptions.builder();
        builder.threadsAllowedToBlockForConnectionMultiplier(getThreadsAllowedToBlockForConnectionMultiplier());
        builder.connectionsPerHost(getConnectionsPerHost());
        MongoClientOptions options = builder.build();

        ServerAddress addr = new ServerAddress(getHost(), getPort());
        MongoClient mongo = new MongoClient(addr, options);

        simpleMongoDbFactory = new SimpleMongoDbFactory(mongo,getDatabaseName());

        if (mongoTemplate == null) {

            mongoTemplate = new MongoTemplate(simpleMongoDbFactory);

        }

    } catch (UnknownHostException e) {

        LOGGER.error(e.getMessage());

    } catch (MongoException e) {

        LOGGER.error(e.getMessage());

    }

    return mongoTemplate;
}

【讨论】:

    猜你喜欢
    • 2020-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-24
    • 1970-01-01
    • 2021-02-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多