com.sleepycat.je.rep.utilint.DbCacheSizeRepEnv Maven / Gradle / Ivy
The newest version!
/*-
* Copyright (C) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
*
* This file was distributed by Oracle as part of a version of Oracle Berkeley
* DB Java Edition made available at:
*
* http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/downloads/index.html
*
* Please see the LICENSE file included in the top-level directory of the
* appropriate version of Oracle Berkeley DB Java Edition for a copy of the
* license and additional information.
*/
package com.sleepycat.je.rep.utilint;
import java.io.File;
import java.util.Map;
import com.sleepycat.je.Environment;
import com.sleepycat.je.EnvironmentConfig;
import com.sleepycat.je.rep.ReplicatedEnvironment;
import com.sleepycat.je.rep.ReplicationConfig;
/**
* Class for opening a ReplicatedEnvironment from a JE standalone utility,
* DbCacheSize. Must be instantiated from standalone JE using Class.forName.
*/
public class DbCacheSizeRepEnv
implements com.sleepycat.je.utilint.DbCacheSizeRepEnv {
private static final int START_PORT = 30100;
private static final int PORT_RANGE = 100;
@Override
public Environment open(File envHome,
EnvironmentConfig envConfig,
Map repParams) {
final String host = "localhost";
final FreePortLocator locator = new FreePortLocator
(host, START_PORT, START_PORT + PORT_RANGE);
final int port = locator.next();
final String hostPort = host + ':' + port;
final ReplicationConfig repConfig = new ReplicationConfig
("DbCacheSizeGroup", "DbCacheSizeNode", hostPort);
repConfig.setHelperHosts(hostPort);
for (Map.Entry entry : repParams.entrySet()) {
repConfig.setConfigParam(entry.getKey(), entry.getValue());
}
return new ReplicatedEnvironment(envHome, repConfig, envConfig);
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy