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

同じの同等のコードは

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 に答える