0

我正在将 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;
}
4

2 回答 2

1

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

于 2016-07-28T14:43:41.423 回答
1

相同的等效代码是

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;
}
于 2016-07-29T04:32:38.657 回答